1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 16:32:55 +08:00
Commit Graph

3700 Commits

Author SHA1 Message Date
Bartłomiej Dach
63dedb36de Rename variable 2021-07-11 16:49:23 +02:00
Bartłomiej Dach
7aecafeecb Rename constant to reflect its purpose 2021-07-11 16:46:30 +02:00
Henry Lin
c181a724c6 Refactor hit object clamping 2021-07-11 22:01:28 +08:00
Bartłomiej Dach
e10b7867c1 Rewrite method again to hopefully help readability 2021-07-10 12:13:36 +02:00
Dean Herbert
90326f8864 Standardise variables 2021-07-09 13:24:26 +09:00
StanR
02298c2cf4 Fix incorrect curve, move total hits factor into a separate variable for clarity 2021-07-09 00:06:05 +03:00
StanR
592d3fdf00 Cleanup 2021-07-08 11:54:58 +03:00
StanR
c67f756c75 Change approach rate bonuses to be less punishing on mid-length maps 2021-07-08 11:52:43 +03:00
Dean Herbert
88b00123f6 Use existing reflection methods to avoid manual binding of ExtendedLimits 2021-07-08 17:49:00 +09:00
Dean Herbert
bd7c334588 Avoid the need for per-settings control classes 2021-07-08 17:49:00 +09:00
Dean Herbert
a6e94dd491 Add back extended limits support 2021-07-08 17:49:00 +09:00
Dean Herbert
c4313d6e96 Initial implementation of new flow (only working for approach rate) 2021-07-08 17:48:08 +09:00
Dean Herbert
0e4f4a6fde Initial storage changes 2021-07-08 14:28:13 +09:00
Dean Herbert
d07c469a89
Merge pull request #13783 from smoogipoo/smooth-auto-gen
Make osu! auto generator interpolate during key-up frames
2021-07-06 15:04:40 +09:00
Henry Lin
50e316fca4
Merge branch 'master' into osu-target-mod 2021-07-06 12:02:51 +08:00
Bartłomiej Dach
8e102280b7 Revert & disable case with two contradicting inspections
Leaving the `false` default value without the suppression triggers
`RedundantArgumentDefaultValue`, while removing it triggers
`BaseMethodCallWithDefaultParameter`.

Disable the former, because a single redundant parameter is less bad
than silent breakage if the default value of `propagateChildren` in the
base method ever changes.
2021-07-05 20:21:44 +02:00
PercyDan54
e1c646b9b2
Remove redundant arguments 2021-07-05 23:52:39 +08:00
smoogipoo
8b7ccdc8b5 Adjust comment 2021-07-05 18:51:23 +09:00
smoogipoo
7d6ab08bb3 Remove unnecessary conditional 2021-07-05 18:49:09 +09:00
smoogipoo
695af31c58 Start alternating at 225BPM as previously 2021-07-05 18:43:27 +09:00
smoogipoo
2b8efe21ca Don't ease with 0 time difference 2021-07-05 17:52:10 +09:00
smoogipoo
12ca845e55 Use marker class (cleanup) 2021-07-05 17:24:23 +09:00
smoogipoo
6a2c0f772e Always apply easing, adjust heuristic a bit 2021-07-05 17:22:48 +09:00
smoogipoo
96c0ab8ded Adjust last frame position when not waiting 2021-07-05 17:11:59 +09:00
Henry Lin
eecf4af029 Rename getSliderBoundingBox and add comments 2021-07-05 09:16:01 +08:00
Dean Herbert
ec71deec51 Remove some mentions of "lazer"
I am aware there are more throughout the codebase but intentionally left
the remaining mentioned for one reason or another. The intention here is
to mainly change user-facing versioning to change the positioning of the
"lazer" term (to be where we would expect "cuttingedge" or "beta" to
be).
2021-07-04 12:41:27 +09:00
Henry Lin
d1862d8cff Rename map to mapRange 2021-07-04 10:01:56 +08:00
Henry Lin
1470bb1563 Use IHidesApproachCircles 2021-07-03 13:02:39 +08:00
Henry Lin
f18c17d1a8
Merge branch 'master' into osu-target-mod 2021-07-03 13:00:52 +08:00
Henry Lin
b0a619bb4c Prevent multiple enumeration in checkForOverlap 2021-07-01 12:49:34 +08:00
Henry Lin
34be437d7a Added definitelyBigger 2021-07-01 12:21:41 +08:00
Henry Lin
58f80abe32 Several requested changes
- Rename `origHitObjects` to `originalHitObjects`
- Use `Value` instead of `GetValueOrDefault()`
- Remove `endObj`
- Added comments
- Rename `closestIdx` to `precedingIndex`
- Changed an `almostEquals` call
2021-07-01 11:57:57 +08:00
Henry Lin
c69455cfd0 Fixed slider bounding box calculation 2021-07-01 11:20:55 +08:00
Henry Lin
7585f1f790 Move special case handling back to moveSliderIntoPlayfield 2021-07-01 11:03:22 +08:00
Henry Lin
6e1839fcf2 Rename shift_object_count to objects_to_shift_before_slider 2021-07-01 11:03:22 +08:00
Henry Lin
328dcb4d6b Use Math.Clamp instead of MathHelper.Clamp 2021-07-01 11:03:22 +08:00
Henry Lin
3c1f0452a2 Refactor and rename getMinSliderMargin to getSliderBoundingBox. 2021-07-01 11:03:22 +08:00
Bartłomiej Dach
913f7602e4 Change seed control type in line with changes 2021-06-30 20:41:08 +02:00
Bartłomiej Dach
c0613a3e4f Merge branch 'master' into osu-target-mod 2021-06-30 20:27:55 +02:00
Salman Ahmed
4b56d94a98 Revert accidentally pushed part of change 2021-06-30 10:26:34 +03:00
Salman Ahmed
e3344c33ea Better convey reason of "Spin In" incompatibility with "Hidden" 2021-06-30 09:57:15 +03:00
Henry Lin
3f185a0622 Fixed an exception when clamping large sliders 2021-06-30 10:35:06 +08:00
Salman Ahmed
dbe3150f88 Mention about marker interfaces even more explicitly 2021-06-29 11:37:08 +03:00
Salman Ahmed
7997d57030 Mention interfaces being "markers" for the time being 2021-06-29 11:25:35 +03:00
Henry Lin
8d1eae7c70 Use IndexInCurrentCombo 2021-06-29 14:25:45 +08:00
Henry Lin
2722565204 Take circle radius into account when clamping to playfield 2021-06-29 13:36:30 +08:00
Henry Lin
0c5777c2c8 Added comments 2021-06-29 12:56:05 +08:00
Henry Lin
d4ff4b26f5 Split part of addHitSamples to a subroutine 2021-06-29 12:49:25 +08:00
Henry Lin
96e09605d8 Osu random mod improvements
- Reduce "jump streams" by increasing maximum jump angle and variance in jump angle
- Reduce weird jumps to sliders by shifting hit circles in front of sliders
2021-06-29 12:33:40 +08:00
Salman Ahmed
69dac018c7 Make OsuModSpinIn as incompatible with other IHidesApproachCircles mods
Respecting the TODO comment above it, mark `OsuModSpinIn` as
incompatible with other `IHidesApproachCircles` mods as well.
2021-06-28 21:20:07 +03:00
Salman Ahmed
baf736026b Mark IHidesApproachCircles mods as incompatible with IRequiresApproachCircles 2021-06-28 21:20:07 +03:00
Salman Ahmed
6a67a6736a Mark IRequireApproachCircles mods as incompatible with IHidesApproachCircles 2021-06-28 21:20:07 +03:00
Salman Ahmed
006cc331c8 Separate IMutateApproachCircles to requiring and hiding 2021-06-28 21:20:07 +03:00
Henry Lin
ea8993d6d6 Use IHasRepeats instead of IHasPathWithRepeats 2021-06-28 11:33:19 +08:00
Henry Lin
3eaa04115f Use OsuHitObjectGenerationUtils 2021-06-26 11:34:10 +08:00
Henry Lin
c543080923 Merge branch 'master' into osu-target-mod 2021-06-26 11:26:00 +08:00
Bartłomiej Dach
50c27d2635 Update usages of IHasTooltip in line with framework localisation changes 2021-06-25 19:10:04 +02:00
Henry Lin
ec8810cc2b Use MathF instead of (float)Math 2021-06-25 09:44:23 +08:00
Henry Lin
26086ca1ef Rename VectorUtils to OsuHitObjectGenerationUtils 2021-06-25 09:43:14 +08:00
Henry Lin
3fcda83713 Rename VectorHelper to VectorUtils 2021-06-24 22:00:19 +08:00
Henry Lin
1a47bc254d Increase acceptable difference for Precision calls 2021-06-24 14:55:49 +08:00
Henry Lin
be55c7e075 Minor fixes in comments 2021-06-24 13:39:50 +08:00
Henry Lin
153e204d20 Cap rotation ratio to 1 2021-06-24 13:22:10 +08:00
Henry Lin
2268d7f8a5 Extract utility methods into helper class; Better xmldoc and naming 2021-06-24 13:19:42 +08:00
Henry Lin
6629f8706a Directly fade to gray instead of computing the color values 2021-06-24 12:31:25 +08:00
Henry Lin
877c775e35 Added comments 2021-06-24 12:20:46 +08:00
Henry Lin
f8fe4ab482 Refactor and rename isOverlappingWithRecent 2021-06-24 12:02:48 +08:00
Henry Lin
71b5ed16c0 Avoid using osuTK constants; Use MathF 2021-06-24 11:37:00 +08:00
Henry Lin
f74275a3b5 Moved RNG initialisation to a better place 2021-06-24 11:29:10 +08:00
Henry Lin
6fca8ba5b0 Better explanation for fixComboInfo 2021-06-24 11:21:43 +08:00
Henry Lin
6202eed5e2 Moved a misplaced ! 2021-06-24 10:56:14 +08:00
Henry Lin
04510f1ace Removed odd-looking decrement and checks in addHitSamples 2021-06-24 10:54:21 +08:00
Henry Lin
58b439b728 Switch to IHasPathWithRepeats 2021-06-24 10:38:21 +08:00
Henry Lin
98003ec548 Avoid modulo when finding slider node index 2021-06-24 10:33:54 +08:00
Henry Lin
3eab540bcc Converted an inline lambda into a method (isInsideBreakPeriod); moved origHitObjects to be a private class field 2021-06-24 10:07:29 +08:00
Henry Lin
dae7b8025d Converted an inline lambda into a method (getBeatsForTimingPoint) 2021-06-24 09:51:45 +08:00
Henry Lin
a7ea7b8b0b Use GetEndTime() instead of a switch expression 2021-06-24 09:34:39 +08:00
Henry Lin
b7dd26612d Reordered things and added regions 2021-06-23 16:50:05 +08:00
Henry Lin
6dc5f406b2 Implement IMutateApproachCircles 2021-06-23 16:29:36 +08:00
Henry Lin
10541dbc0a Merge branch 'master' into osu-target-mod
# Conflicts:
#	osu.Game.Rulesets.Osu/Mods/OsuModTraceable.cs
#	osu.Game/Rulesets/Mods/IHasSeed.cs
2021-06-23 16:26:23 +08:00
Henry Lin
5a031eada8 Revert "Display results after fail"
This commit reverts 7815b3c7
2021-06-23 16:22:10 +08:00
Dean Herbert
4cb9c6a842
Merge pull request #13423 from frenzibyte/transformers-per-skin
Refactor ruleset skin transforming logic to be per-`ISkin` rather than one `ISkinSource`
2021-06-22 21:24:56 +09:00
Dean Herbert
6c3d2315d0
Merge pull request #13606 from Naxesss/low-diff-checks
Add low difficulty spacing checks
2021-06-22 16:29:37 +09:00
Dean Herbert
1b0aadcc6f Merge branch 'master' into transformers-per-skin 2021-06-22 16:03:15 +09:00
Dean Herbert
e9339d6100 Move some inline comments on consts to xmldoc instead 2021-06-22 15:16:19 +09:00
Naxess
2f3f4f3e4b Add new checks to verifier 2021-06-21 15:30:45 +02:00
Naxess
fcb918d0e1 Add time distance equality check 2021-06-21 15:30:23 +02:00
Naxess
3eb088f89a Add low difficulty overlaps check 2021-06-21 15:30:04 +02:00
Salman Ahmed
999bf27eae Remove unnecessary abstraction of ApproachCircle property 2021-06-21 12:07:00 +03:00
Henry Lin
e52a58c1bc Switched to a more reasonable sample sound for now 2021-06-21 16:24:37 +08:00
Salman Ahmed
ba15f7c19b Move ApproachCircle out of the scale container and revert relevant changes 2021-06-21 10:47:38 +03:00
Salman Ahmed
036b745425 Remove no longer needed LegacySpinnerApproachCircle 2021-06-21 08:41:10 +03:00
Salman Ahmed
42edbe4fb9 Move ApproachCircle implementation into per-style 2021-06-21 08:40:38 +03:00
Salman Ahmed
68e28f4903 Implement IHasApproachCircle in DrawableHitCircle as well 2021-06-21 07:35:07 +03:00
Salman Ahmed
01478d780d Generalize IHasSpinnerApproachCircle from being spinner-specifc 2021-06-21 03:43:11 +03:00
Salman Ahmed
72155a7c52 Replace if pattern-matching check with switch cases instead 2021-06-21 03:37:50 +03:00
Salman Ahmed
c3217fd8b1 Remove leftover approach circle skin component 2021-06-19 20:10:32 +03:00
Salman Ahmed
c04b09520d Replace spinner approach circle proxying logic with hooking up to OnSkinChange in mod 2021-06-19 20:06:28 +03:00
Henry Lin
c867940584 Marked target mod and traceable mod as incompatible; extracted playfield clamping logic
Nothing is visible when target mod and traceable mod are enabled together.
2021-06-19 12:26:16 +08:00
Henry Lin
b09165a074 Remove the circle size buff 2021-06-19 11:13:19 +08:00
Henry Lin
0cf3119006 Guard against edge cases 2021-06-19 11:12:29 +08:00
Henry Lin
ca8f08ca84 Avoid overlapping with recent circles 2021-06-19 10:04:48 +08:00
Salman Ahmed
d6b9436151 Proxy spinner approach circle before the spinner overlay components 2021-06-18 20:34:25 +03:00
Salman Ahmed
843c8bd7a4 Move spinner approach circle to its own SkinnableDrawable 2021-06-18 20:33:50 +03:00
Salman Ahmed
f7b5341663 Merge branch 'master' into legacy-spinner-approach-circle 2021-06-18 19:50:52 +03:00
Bartłomiej Dach
afc89b39d9 Use StateUpdateTime for transform clearing logic
`MainCirclePiece` specifies a state transform starting at
`StateUpdateTime`, which is earlier than the previously-used
`HitStateUpdateTime`. Change the transform clearing logic to use the
former to ensure that exactly all animation transforms are cleared.
2021-06-18 16:04:11 +02:00
Bartłomiej Dach
e94fbd83e2 Ensure editor ruleset animation disable execution order 2021-06-18 16:04:11 +02:00
Bartłomiej Dach
e2a370f602 Add coverage for hit circle fade-out duration 2021-06-18 16:04:11 +02:00
Henry Lin
cca26d4651 Take circle radius into account when clamping hit objects to playfield 2021-06-18 16:05:09 +08:00
Henry Lin
f5134c7fc2 Extract constants and add xmldoc 2021-06-18 14:39:46 +08:00
Henry Lin
dca2d8af4f Animate circles undimming 2021-06-18 13:18:44 +08:00
Dean Herbert
860626152a Mark all mods which adjust approach circle as incompatible with each other
Closes https://github.com/ppy/osu/issues/13543.
2021-06-18 13:21:53 +09:00
Salman Ahmed
c9458fd9ce Hide spinner approach circle in "Hidden" mod 2021-06-18 06:23:54 +03:00
Henry Lin
639e8b62b9 Make circles light up 1 beat length before start time 2021-06-18 11:20:04 +08:00
emu1337
8c4e60e5cc xmldoc and refactoring 2021-06-17 21:41:06 +02:00
Henry Lin
b7f43405fc Dim circles instead of fade; improved hit samples; changed jump distance to be closer to cuttingedge 2021-06-17 22:01:58 +08:00
Dan Balasescu
6cec1145e3
Merge pull request #13523 from ekrctb/applicable-to-dho
Reduce boilerplate of `IApplicableToDrawableHitObjects` by taking a single DHO instead of an enumerable
2021-06-17 19:59:06 +09:00
Henry Lin
f22beaeb5b Increase distance between combos; pull circles closer to center 2021-06-17 14:30:59 +08:00
Dean Herbert
a46f730a69 Fix approach circle fade not running early on an early user hit
Regressed in https://github.com/ppy/osu/pull/12153.
Closes https://github.com/ppy/osu/issues/13531.
2021-06-17 15:09:05 +09:00
Henry Lin
14622f4734 Improved guesstimations; fixed hit samples 2021-06-17 10:20:50 +08:00
Salman Ahmed
9d9892e99e Add legacy spinner approach circle implementation 2021-06-17 04:58:18 +03:00
emu1337
2665a873f8 fixed an error with extremely short maps 2021-06-16 19:55:19 +02:00
emu1337
41662a1643 refactored for clarity 2021-06-16 19:54:22 +02:00
emu1337
18fe05b7b5 diffspikes balance 2021-06-16 15:13:46 +02:00
ekrctb
90a13b8ed3 Use IApplicableToDrawableHitObject for OsuModApproachDifferent
Replacing the obsolete interface.
2021-06-16 22:05:40 +09:00
ekrctb
b6a9fa9999 Merge branch 'master' into applicable-to-dho 2021-06-16 22:04:10 +09:00
ekrctb
af80418ee8 Implement IApplicableToDrawableHitObject for mods
A breaking change in `ModWithVisibilityAdjustment` if the method was overriden.
2021-06-16 18:52:01 +09:00
Dean Herbert
7891ee4f32 Change order of settings to make scrolling easier
There's an issue with dropdown menus nested inside a scroll view being
very frustrating to scroll to off-screen items. This works around that
to some extent by giving the user more "parent-scrollable" space to
mouse wheel or drag over.
2021-06-16 17:32:31 +09:00
Dean Herbert
0c1023da31 Simplify transform logic 2021-06-16 17:27:52 +09:00
Dean Herbert
ee5f4f1856 Remove default (and make default "Gravity") 2021-06-16 17:27:43 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin 2021-06-16 16:37:28 +09:00
Dean Herbert
f6f1a068b2 Rename "easing" references to be "style" instead 2021-06-16 15:15:12 +09:00
Dean Herbert
b1dd502e06 Rename class to match new name 2021-06-16 15:09:42 +09:00
Dean Herbert
2ce487bdac Rename mod and fix easing mappings / naming 2021-06-16 14:31:22 +09:00
Dean Herbert
c5f76c7352
Merge branch 'master' into AddApproachCircleMod 2021-06-16 14:30:58 +09:00
emu1337
be68950c30 refactoring 2021-06-16 03:34:46 +02:00
Salman Ahmed
52145c9237 Assign skinnable colour to spinner-background with correct default 2021-06-15 16:17:05 +03:00
Salman Ahmed
a85a592f70 Add lookup for spinner background colour 2021-06-15 16:16:25 +03:00
Henry Lin
4ffff06dcb Break ApplyToBeatmap into subroutines 2021-06-15 11:06:56 +08:00
emu1337
e987a511ba diffspike & wide angle balance 2021-06-14 19:22:35 +02:00
emu1337
fea7b029aa refactored diffspike nerf 2021-06-14 19:18:49 +02:00
Henry Lin
04c0db6dce Code cleanup 2021-06-14 21:34:34 +08:00
emu1337
4c949d9829 reduced diffspike nerf 2021-06-13 21:20:08 +02:00
emu1337
3309ab2be3 balance changes 2021-06-13 15:18:35 +02:00
Salman Ahmed
fbb856d84b Call base when overriding lookup methods
Rather than arbitrarily accessing `Skin` here and there.
2021-06-11 12:44:44 +03:00
Dan Balasescu
35d5632355
Merge pull request #13378 from Syriiin/diffcalc/refactor/auto-properties
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-10 18:42:11 +09:00
Salman Ahmed
dde84e5cbd Merge branch 'master' into transformers-per-skin 2021-06-10 11:58:52 +03:00
Dan Balasescu
a44fd887ee
Merge branch 'master' into no-unranked-display 2021-06-10 17:09:46 +09:00
Henry Lin
12a17d0983 Extract seed setting contorl to IHasSeed 2021-06-10 15:31:20 +08:00
Henry Lin
80f38b347b Merge branch 'ppy:master' into osu-target-mod 2021-06-10 15:13:27 +08:00
Henry Lin
7815b3c72b Display results after fail 2021-06-10 10:58:42 +08:00
Salman Ahmed
cf40282f1f Convert LegacySkinTransformers to accept raw ISkins rather than a full ISkinSource 2021-06-09 22:49:31 +03:00
ekrctb
5418e895ae Remove useless ClearTransforms
The transforms are cleared by DHO before `ApplyCustomUpdateState` is invoked.
2021-06-09 16:50:13 +09:00
Bartłomiej Dach
020c63017e Fix inspectcode issues 2021-06-09 09:21:02 +02:00
ekrctb
610cdaea98 Fix circle piece animation is sometimes not playing when a replay is rewound 2021-06-09 16:14:55 +09:00
Dean Herbert
85abee5fc7 Remove difficulty calculator exceptions
I don't think there's any reason difficulty calculators shouldn't be
able to calculate for autoplays.
2021-06-09 14:33:35 +09:00
Dean Herbert
d0e9f8ef90 Replace and obsolete Ranked flag with IsUserPlayable 2021-06-09 14:17:03 +09:00
ekrctb
555ab8fccd Fix event not unregistered on dispose 2021-06-09 12:35:14 +09:00
Dean Herbert
e914fbf449
Merge pull request #13396 from ekrctb/fix-circle-piece
Fix hit circle animation is removed when a replay is rewound
2021-06-09 11:39:38 +09:00
ekrctb
4707918c6a Fix hit circle animation when a replay is rewound 2021-06-09 10:53:52 +09:00
Dean Herbert
475788041a
Merge pull request #13337 from Pasi4K5/fix-sliders-out-of-screen
Fix sliders sometimes being outside of the playfield with osu! random mod enabled
2021-06-08 21:18:21 +09:00
Samuel Cattini-Schultz
f1bef989b7 Refactor DifficultyAttributes to use auto properties over public fields 2021-06-08 19:43:59 +10:00
Dean Herbert
6017ef3825
Merge branch 'master' into fix-skin-sample-lookup 2021-06-08 17:37:36 +09:00
Dan Balasescu
791855dfa0
Merge branch 'master' into legacy-skin-default-fallback 2021-06-08 16:54:26 +09:00
Dean Herbert
e0f568aa8f Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-06-08 15:19:52 +09:00
Dean Herbert
88b87b98a8 Fix slider ball layer sources 2021-06-08 12:10:14 +09:00
Dean Herbert
277eb9fa6e Fix slider repeat arrow not updating rotation immediately while paused in editor
A bit of a local solution, but not sure there's a better way to handle
this.

Closes #13342.
2021-06-07 15:58:43 +09:00
Dean Herbert
d26c9a66c2 Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-06-07 12:01:19 +09:00
Dean Herbert
9ebafb1ec0 Fix cursor trail logic 2021-06-06 22:26:27 +09:00
Pasi4K5
b214f2ae0e Remove repeat and simplify getMinSliderMargin 2021-06-05 17:13:08 +02:00
Pasi4K5
f59263932a Use SliderPath.GetPathToProgress for getting the SliderPath's positions 2021-06-05 17:04:58 +02:00
Pasi4K5
b4f190c6ff Rename iteration variable 2021-06-04 17:22:36 +02:00
Pasi4K5
32e41048ff Fix System.ArgumentException caused by sliders bigger than the playfield 2021-06-04 16:50:27 +02:00
Pasi4K5
6357d1363c Add comment for slider_path_checking_rate 2021-06-04 16:26:40 +02:00
Pasi4K5
a0a6f3ef81 Replace Vector2 methods with math operators 2021-06-04 16:23:03 +02:00
Pasi4K5
9f2a9608f2 Rework slider positioning 2021-06-04 16:17:54 +02:00
ekrctb
d7da66d876 Bring back scheduling of follow point update 2021-06-04 18:41:02 +09:00
ekrctb
0098ac2760 Remove one TODO
It can be removed because pooled drawables are always ready, and `FollowPointConnection` is also ready when applied.
2021-06-04 17:09:59 +09:00
ekrctb
bc892086fe Resolve nullable inspection, enable nullable for FollowPointLifetimeEntry 2021-06-04 17:09:59 +09:00
ekrctb
b373b120ff Use general lifetime container for follow point container 2021-06-04 16:31:50 +09:00
Dean Herbert
06275a6a7d Merge branch 'master' into legacy-skin-default-fallback 2021-06-04 16:00:30 +09:00
Dean Herbert
f62a2747f6 Add legacy implementation 2021-06-04 14:51:35 +09:00
Dean Herbert
5953674737 Tidy up constants 2021-06-04 14:14:51 +09:00
Dean Herbert
ff70f99da2 Merge branch 'master' into kiai 2021-06-04 13:50:12 +09:00
Pasi4K5
7a4fc9ffc8 Move seed to base class 2021-06-03 18:16:11 +02:00
Dan Balasescu
15b43beef1
Merge pull request #11857 from Syriiin/diffcalc/refactor/catch-clockrate-effects
Refactor catch Movement skill to not require explicit clockrate usage
2021-06-03 17:29:27 +09:00
Dan Balasescu
d39eb7eac2
Merge pull request #12952 from peppy/autoplay-pause-support
Externalise autoplay generation from `Player` to allow use of replay playback functions
2021-06-03 17:29:17 +09:00
Dean Herbert
8b43cfdd7d
Merge pull request #12568 from Pasi4K5/mod-osu-random
Add mod "Random" for osu! ruleset
2021-06-03 17:14:27 +09:00
Samuel Cattini-Schultz
f51413ead9 Refactor to pass clockrate in constructor rather than deriving from mods 2021-06-03 16:09:42 +10:00
Dan Balasescu
44b1102241
Merge branch 'master' into autoplay-pause-support 2021-06-03 13:26:00 +09:00
Dan Balasescu
c065f761c7
Merge branch 'master' into legacy-skin-default-fallback 2021-06-02 19:08:52 +09:00
ekrctb
c06ff3c623 Remove defunct Animate calls 2021-06-02 11:46:28 +09:00
ekrctb
b82190e157 Fix hit circle animation reset when skin is changed
The transforms applied in `Animate` call was not applied because the piece is recreated.
2021-06-02 11:32:24 +09:00
Dean Herbert
14570b6fb1 Merge branch 'master' into autoplay-pause-support 2021-06-01 14:19:21 +09:00
Dean Herbert
00b3eea840 Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-05-31 21:39:04 +09:00
Dean Herbert
33577cbad5 Fix multiple issues with default lookups 2021-05-31 21:29:47 +09:00
Dean Herbert
88ed95e012 Add FindProvider lookup function 2021-05-31 21:29:47 +09:00
Dean Herbert
de0e51a81d Merge branch 'master' into fix-skin-sample-lookup 2021-05-31 15:27:39 +09:00
Dean Herbert
17574833fb Update other transformers with similar refactored logic 2021-05-30 19:15:59 +09:00
Salman Ahmed
fbc316ea1d Fix legacy skin transformers potentially ignoring source implementations 2021-05-29 21:23:22 +03:00
Dean Herbert
6268bbea85 Merge branch 'master' into fix-skin-sample-lookup 2021-05-28 14:47:35 +09:00
Dean Herbert
70a844ac10 Remove allowFallback parameters completely 2021-05-27 14:50:42 +09:00
Endrik Tombak
9ac4ef273e Make DrawableSliderTail not require ITrackSnaking 2021-05-26 23:21:05 +03:00
Pasi4K5
d5de5ae640 Add comments explaining the usage of shiftNestedObjects() 2021-05-26 20:50:31 +02:00
Dean Herbert
a08a4aa911 Move second call to shiftNestedObjects to a more understandable location 2021-05-26 16:48:16 +09:00
Dean Herbert
d6c4be207b Simplify naming 2021-05-26 16:44:44 +09:00
Dean Herbert
ad3e4287cd Move distanceToPrev inside randomisation function 2021-05-26 16:44:05 +09:00
Dean Herbert
6ca9b37c28 Make random generator a field to avoid passing around internally 2021-05-26 16:42:20 +09:00
Dean Herbert
6181b1ac92 Simplify previous object handling by using a class instead of struct 2021-05-26 16:42:20 +09:00
Dean Herbert
c5ff052096 Change internal to public 2021-05-26 16:31:25 +09:00
Pasi4K5
c85d5513be Remove redundant parameter and unused setters 2021-05-25 21:42:26 +02:00
Pasi4K5
bdbd64c88d Fix sliders being partly outside of the playfield in some cases 2021-05-25 21:32:18 +02:00
Dean Herbert
a3c78674a1 Add new interface for autoplay mods 2021-05-25 18:09:24 +09:00
Pasi4K5
098d8c2131 Add complete randomisation for first hit object and hit objects after spinners 2021-05-24 15:13:31 +02:00
smoogipoo
3db995c778 Fix sliders jumping around the screen on movement 2021-05-24 17:15:57 +09:00
Dean Herbert
8336428574 Add regression test for spinner sample actually transforming its frequency 2021-05-24 15:10:33 +09:00
Dean Herbert
53b5341bb9 Simplify application logic 2021-05-24 14:34:27 +09:00
Dean Herbert
a92ded8a2f Apply renaming and general code clean-up 2021-05-24 14:28:07 +09:00
Dean Herbert
88d7bc195d Split out and clean up playfield sizing references 2021-05-24 14:27:56 +09:00
Dean Herbert
8dd3f11d28 Tidy up struct and previous object handling 2021-05-24 14:19:10 +09:00
Henry Lin
15e7cce264 Added seed setting, fixed mod ignoring IncreaseFirstObjectVisibility 2021-05-22 14:14:41 +08:00
Dean Herbert
bb2fae55ce Merge branch 'master' into refactor-selection-rotate-logic 2021-05-21 19:19:54 +09:00
Dean Herbert
df5970fab4 Create base implementations of the two most common TernaryStateMenuItems 2021-05-20 19:34:53 +09:00
Dean Herbert
27e81d6504 Implement proper rotation algorithm for skin editor 2021-05-20 18:21:16 +09:00
Henry Lin
d20b5c2d5a Refactored ApplyToBeatmap 2021-05-20 11:57:13 +08:00
Henry Lin
fe099be443 Implemented osu target mod 2021-05-19 22:25:56 +08:00
Dean Herbert
a0f67ef3bc Move scaling logic out of OsuSelectionHandler for reuse 2021-05-19 17:37:28 +09:00
Dean Herbert
d661e98fa6 Move common functionality out of OsuSelectionHandler and implement flip support 2021-05-18 18:34:06 +09:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
532c41c82e Remove nested blueprints from sliders 2021-05-18 14:19:11 +09:00
smoogipoo
e621cfc4ea Add Apply() method for applying new DHOs 2021-05-18 14:14:10 +09:00
smoogipoo
0989aa3364 Fix accuracy heatmap points changing colour 2021-05-17 18:07:50 +09:00
Dean Herbert
a32f1ef35a
Merge pull request #12811 from PercyDan54/hidden-code-cleanup
Remove obsolete methods in `ModHidden` and apply few touches
2021-05-16 22:07:45 +09:00
Henry Lin
a91f2d3dba Change "judgment" to "judgement" 2021-05-16 10:17:04 +08:00
Dean Herbert
bdcb1a624e
Merge pull request #12759 from Naxesss/beatmap-verifier-context
Encapsulate check arguments in context object
2021-05-15 15:39:12 +09:00
PercyDan54
63ac430386
Rename startTime in parameters 2021-05-15 11:26:16 +08:00
Pasi4K5
878182fbdf Fix slider ticks not being shifted along with their parent sliders 2021-05-15 02:07:24 +02:00
Pasi4K5
3fa6a0413b Add slider position randomisation 2021-05-14 23:04:09 +02:00
PercyDan54
a4c1b9a1a7
Rename startTime to fadeStartTime 2021-05-14 21:56:13 +08:00
PercyDan54
a86a4bab91
Remove empty override 2021-05-14 21:55:32 +08:00
PercyDan54
393ac4fdd1
Destruct declaration 2021-05-14 21:30:58 +08:00
PercyDan54
67dfeeb1b7
Cleanup code in ModHidden 2021-05-14 21:29:13 +08:00
Dean Herbert
dbc2318710 Initial tidying up 2021-05-14 14:13:35 +09:00
Pasi4K5
ac04e8afa2 Change name of option "Custom seed" to "Seed" and set its value to the generated seed 2021-05-14 01:50:11 +02:00
Pasi4K5
a9d5211e81 Remove seed from the ScorePanel and "Paste" button 2021-05-14 01:42:39 +02:00
smoogipoo
ffb6135a1b Rework hitobject blueprints to take in hitobject models 2021-05-13 19:53:32 +09:00
Naxess
19800f5f7f Move IBeatmap arg into context 2021-05-13 11:24:22 +02:00
Pasi4K5
946abfbb83 Rework settings; Add seed to ScorePanel; Apply requested changes from @bdach 2021-05-12 18:11:50 +02:00
Naxess
b7bc42e0d3 Rename "playableBeatmap" check arg to "beatmap"
The working beatmap is now in the context, so it's easier to distinguish beatmap type, hence no need for this prefix.
2021-05-12 02:34:16 +02:00
Naxess
c13b93e6f1 Replace IWorkingBeatmap arg with BeatmapVerifierContext in checks
This simplifies passing of contextual information by enabling addition without needing to refactor lots of classes.

See next commit for example.
2021-05-12 02:29:18 +02:00
Dean Herbert
004798d61d Update Legacy components to not require skin in ctor 2021-05-11 18:39:14 +09:00
Dean Herbert
01d732bb65 Revert "Refactor SliderSelectionBlueprint to not reference blueprint pieces for input handling"
This reverts commit 54fe10c82a.
2021-05-08 23:33:03 +09:00
Dean Herbert
63e267a3be Revert "Trim redundant this qualifier"
This reverts commit df630d9428.
2021-05-08 23:32:52 +09:00
Bartłomiej Dach
df630d9428 Trim redundant this qualifier 2021-05-08 14:53:19 +02:00
Dean Herbert
54fe10c82a Refactor SliderSelectionBlueprint to not reference blueprint pieces for input handling 2021-05-07 10:36:03 +09:00
Dean Herbert
39067e6926 Fix slider input handling potentially being offset after composer area resize
Closes https://github.com/ppy/osu/issues/12671.
2021-05-06 17:19:19 +09:00
Salman Ahmed
cc24d8a6bd Remove unused using directive
I literally noticed it after I pushed, god damn it.
2021-05-05 14:27:38 +03:00
Salman Ahmed
6fb9eb8b33 Move legacy beatmap combo offset to osu! processor
Better suited there, I intiailly wanted the whole legacy interface to reside in `osu.Game.Rulesets.Osu` but it's required in `ConvertHitObjectParser` and that's in the main game project, so had to leave the interface as-is for now.
2021-05-05 14:24:14 +03:00
Dean Herbert
1410b8f36d Fix follow points displaying at incorrect locations when dragging a slider out-of-bounds 2021-05-05 18:30:57 +09:00
Salman Ahmed
cd6d070b4a Consider "combo offsets" as legacy logic and separate from combo information 2021-05-05 07:43:08 +03:00
Pasi4K5
6bed268bd8 Enhance mod settings and add option "Random seed"
+ slight adjustments
2021-05-01 04:01:43 +02:00
Pasi4K5
d90708d646
Merge branch 'master' into mod-osu-random 2021-05-01 02:45:32 +02:00
Bartłomiej Dach
9cb55ca245
Merge branch 'master' into barrel-roll 2021-04-30 22:27:27 +02:00
Andrei Zavatski
7bf3498e2a Calculate playfield scale locally 2021-04-30 02:49:19 +03:00
Andrei Zavatski
25e0fb1cf9 Refactor OsuModBarrelRoll to allow it's usage by other rulesets 2021-04-30 01:59:59 +03:00
Dean Herbert
9c62c90cfc Refactor SelectionBlueprint and MoveSelectionEvent to work in screen-space coordinates
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.

This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
Pasi4K5
95040f7edc Change initial seed to a random number 2021-04-27 22:19:04 +02:00
Pasi4K5
a141a4e9e6 Add setting "Seed"
Random numbers are now generated with the seed specified in the mod settings.
2021-04-27 20:44:36 +02:00
Pasi4K5
4b05568d2d Revert "Fix bug causing the star rating to change when Random is enabled"
This reverts commit 1dfe028c02.
2021-04-27 19:39:58 +02:00
Dean Herbert
f586bc46e6 Avoid using EditorBeatmap.SelectedHitObjects 2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306 Refactor editor selection/blueprint components to be generic 2021-04-27 19:01:29 +09:00
Dean Herbert
ec1c336b0a Fix a couple of inspections 2021-04-27 13:23:14 +09:00
Pasi4K5
1dfe028c02 Fix bug causing the star rating to change when Random is enabled 2021-04-26 22:26:13 +02:00
Pasi4K5
19fc224348 Revert "Make OsuAutoGenerator spin the cursor around the position of the spinner instead of a set value"
This reverts commit 817bb5213c.
2021-04-26 11:52:46 +02:00
smoogipoo
1e0ee3cd61 Merge branch 'master' into fix-editor-slider-repeat-animation 2021-04-26 16:45:04 +09:00
Dan Balasescu
0727728771
Merge pull request #12579 from peppy/rename-edit-classes
Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword
2021-04-26 16:44:35 +09:00
smoogipoo
0d0b4ea78a Rewrite comment to hopefully be more readable 2021-04-26 15:47:37 +09:00
smoogipoo
f70e45b199 Prevent adding null enumerable 2021-04-26 15:35:08 +09:00
Dean Herbert
d10aac851d Extract scale constant 2021-04-26 15:30:22 +09:00
Dean Herbert
8795c5f082 Update osu! editor transform logic to allow adjustments to DrawableSliderRepeat and DrawableSliderTail 2021-04-26 15:27:10 +09:00
Dean Herbert
4da964c3f3 Expose DrawableSliderRepeat's arrow and move transforms to children 2021-04-26 15:22:42 +09:00
Dean Herbert
aa7ade8186 Expose presence of MainCirclePiece via an interface 2021-04-26 15:22:17 +09:00
smoogipoo
6182181ea1 Fix simultaneous slider input not allowing both keys 2021-04-26 15:20:29 +09:00
Dean Herbert
4898471d68 Merge branch 'master' into fix-editor-slider-repeat-animation 2021-04-26 14:43:22 +09:00
Dean Herbert
e8d83f2f99 Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword 2021-04-26 14:33:30 +09:00
Salman Ahmed
0b9172a1dc Animate back slider repeat and tail circle pieces 2021-04-26 02:39:49 +03:00
Pasi4K5
6e85c4e069 Change randomisation process to keep distances between objects
Remove now unnecessary settings;
Remove spinners;
Sliders are not implemented yet
2021-04-25 23:57:01 +02:00
Pasi4K5
08821da954 Change mod description 2021-04-25 01:43:32 +02:00
Pasi4K5
f33f1b2bed Remove class "ModRandomOsu" and adjust code
Add documentation comment for OsuModRandom
2021-04-25 01:34:39 +02:00
Pasi4K5
92f765b958 Change ModType from Fun to Conversion 2021-04-25 01:19:06 +02:00
Pasi4K5
817bb5213c Make OsuAutoGenerator spin the cursor around the position of the spinner instead of a set value
This is to make Autoplay work with randomised spinner positions
2021-04-25 00:46:35 +02:00
Pasi4K5
961bd1177c Add mod "Random" for ruleset "osu!" 2021-04-25 00:39:36 +02:00
Dan Balasescu
50f37ef09c
Merge pull request #12519 from peppy/editor-hit-animation-toggle
Add editor hit animation toggle
2021-04-22 20:49:21 +09:00
smoogipoo
d4d78f7434 Merge branch 'master' into legacy-scores-classic-mod 2021-04-22 18:44:20 +09:00
Dean Herbert
0f70469d1c Only apply custom editor overrides if hit animations is disabled 2021-04-21 19:44:17 +09:00
Dean Herbert
f2824a222a Adjust existing fades to close match stable editor 2021-04-21 19:41:15 +09:00
Dean Herbert
47a4a07024 Split out animation triggering of MainCirclePiece to be interface driven 2021-04-21 19:15:10 +09:00
Salman Ahmed
e90d791754 Add base "classic" mod 2021-04-21 09:14:19 +03:00
Dean Herbert
6164902eba
Merge pull request #12510 from smoogipoo/fix-wiggle-slider-tails
Fix slider tails wiggling independently
2021-04-21 11:30:13 +09:00
smoogipoo
e454037d82 Add to comment 2021-04-21 10:32:13 +09:00
Dan Balasescu
397df41570
Merge pull request #12507 from peppy/fix-cursor-position-rotated
Fix click-to-resume cursor location being incorrect when playfield is transformed
2021-04-21 10:29:35 +09:00
smoogipoo
9d423201ed Fix slider tails wiggling independently 2021-04-21 10:29:18 +09:00
Dean Herbert
4910d8f56c Fix click-to-resume cursor location being incorrect when playfield is transformed
Closes #12501.
2021-04-21 00:12:49 +09:00
Dean Herbert
26430e3cb5
Merge pull request #12492 from Naxesss/bg-audio-quality-checks
Add background and audio checks
2021-04-21 00:10:32 +09:00
Dan Balasescu
86772869da
Merge pull request #12498 from peppy/barrel-roll-faster-spin
Allow faster roll speed selection in "Barrel Roll" mod
2021-04-20 20:39:45 +09:00
Dean Herbert
ac0ed72d04 Keep hitcircles aligned with view in "Barrel Roll" mod 2021-04-20 18:36:11 +09:00
Dean Herbert
f11b068dee Allow faster roll speed selection in "Barrel Roll" mod 2021-04-20 18:22:58 +09:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks 2021-04-20 02:36:13 +02:00
Naxess
8656176ab8 Add the playable beatmap as check argument
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.

So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.

This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Dean Herbert
510e54ff54 Update framework 2021-04-19 23:41:21 +09:00
Naxess
56bf49c85c Take IWorkingBeatmap instead of WorkingBeatmap
This makes testing much easier, and allows for checking of any class deriving from that interface, including `WorkingBeatmap`.
2021-04-18 01:21:20 +02:00
Naxess
448574e7e6 Use WorkingBeatmap instead of IBeatmap
This lets us access things like the background, track, etc. which are necessary for quality and filesize checks.

Also improves the structure of the `CheckBackgroundTest` class in the process.
2021-04-17 17:33:53 +02:00
Salman Ahmed
c1082ddb9a
Add space before the unit
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2021-04-17 06:28:07 +03:00
Salman Ahmed
892a8a7cd2 Remove unnecessary comma 2021-04-17 04:23:48 +03:00
Salman Ahmed
78c8508784 Remove unused using directive
gotta git gud
2021-04-17 03:52:08 +03:00
Salman Ahmed
d5a1e00feb Improve "barrel roll" mod settings description 2021-04-17 03:32:47 +03:00
Dean Herbert
f824105075 Merge branch 'master' into fix-slider-zero-length 2021-04-16 18:47:22 +09:00
Dan Balasescu
7648d6f7fb
Merge pull request #12443 from peppy/fix-slider-scale-crash
Fix div-by-zero when scaling a 1-dimensional slider
2021-04-16 17:31:42 +09:00
Dan Balasescu
5ad2d0e759
Merge pull request #12439 from ekrctb/further-refactor-framed-replay
Further refactor FrameReplayInputHandler, simplify the template code
2021-04-16 17:16:09 +09:00
Dean Herbert
401bf368a7 Merge branch 'fix-slider-scale-crash' into fix-slider-zero-length 2021-04-16 16:58:19 +09:00
Dean Herbert
8de68e0ebf Fix div-by-zero when scaling a 1-dimensional slider 2021-04-16 16:55:26 +09:00
Dean Herbert
ff408b852e Handle scaling a slider below minimum length 2021-04-16 15:45:24 +09:00
Dean Herbert
89373638be Handle control point deletion when the resulting slider would be too short to be useful 2021-04-16 15:45:24 +09:00
Dean Herbert
2949a6bbdc Handle control point drag revert 2021-04-16 15:45:24 +09:00
Dean Herbert
d38e294d96 Centralise length validation function 2021-04-16 15:45:24 +09:00
Dean Herbert
965a1ead36 Disallow zero-length slider blueprint placements 2021-04-16 14:38:30 +09:00
ekrctb
a965e8a75d Remove AutoGenerator workaround of now-fixed issue 2021-04-16 14:13:41 +09:00
ekrctb
91c7d8d26c Introduce StartFrame and EndFrame to simplify the replay interpolation code 2021-04-16 14:13:41 +09:00
ekrctb
84bc81a6de Make FramedReplayInputHandler.CurrentTime non-null 2021-04-16 14:13:41 +09:00
Dean Herbert
5c0ef55691 Rename SliderPlacementState to make way for more generic version 2021-04-16 14:09:35 +09:00
Dan Balasescu
587973be25
Merge pull request #12405 from frenzibyte/top-left-cursor
Add support for legacy skin's `CursorCentre` setting
2021-04-16 00:30:53 +09:00
smoogipoo
34859a4760 Invalidate drawnode on change 2021-04-15 23:37:05 +09:00
Dan Balasescu
3374895e40
Merge branch 'master' into mod-barrel-roll 2021-04-15 22:15:26 +09:00
smoogipoo
1a987dfbc0 Fix gameplay cursor showing offscreen 2021-04-15 21:16:38 +09:00
Dean Herbert
698a9d3fed Add rotation direction setting 2021-04-15 14:40:03 +09:00
Dean Herbert
23eb1c655c Add missing description 2021-04-15 14:37:47 +09:00
Dean Herbert
7469849e7c Merge branch 'abstract-mod-description' into mod-barrel-roll 2021-04-15 14:37:17 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
Dean Herbert
0d32290cd5 Show roll speed in rotations-per-minute 2021-04-15 13:15:52 +09:00
Dean Herbert
362a5a39d0 Scale the playfield to avoid off-screen objects 2021-04-15 13:15:42 +09:00
Dean Herbert
a209415942 Add "Barrel Roll" mod 2021-04-14 16:52:29 +09:00
Salman Ahmed
367dafab56 Apply CursorCentre to old-style legacy cursor trail 2021-04-14 08:20:18 +03:00
Salman Ahmed
ad53ababe8 Fix wrong default
Ah, soz
2021-04-14 08:16:46 +03:00
Salman Ahmed
bf5ed12b75 Add support for legacy skin CursorCentre setting 2021-04-14 06:33:54 +03:00
Dean Herbert
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
Dean Herbert
03ba04e8ce Split out general checks into its own verifier class (and remove static usage) 2021-04-13 19:50:22 +09:00
Naxess
304fe5cd34 Add CheckBackground to OsuBeatmapVerifier 2021-04-13 10:41:02 +02:00
Naxess
60c2494b31 Make BeatmapVerifier an interface 2021-04-13 10:40:56 +02:00
Naxess
c8cb4286f6 Add reference for screen bounding box numbers 2021-04-13 10:35:06 +02:00
Dean Herbert
fbc6fb8fc5 Split out common logic into private method and add inline comment for future visitors 2021-04-13 15:35:57 +09:00
Naxess
6d3f9fa9ce Use is class instead of Equals with template index
Ensures ordering of `PossibleTemplates` does not affect tests.
2021-04-13 02:29:25 +02:00
Naxess
d9e3276d0e Don't update path type once immediately 2021-04-12 19:18:22 +02:00
Naxess
19a154ddf1 Rename checkOrigin -> check
More consistent with `Issue.ctor`'s "template".
2021-04-12 17:28:12 +02:00
Naxess
bb720c23a0 Remove check ctors and locals 2021-04-12 17:12:37 +02:00
Dean Herbert
62c1812282 Remove redundant parameter naming 2021-04-12 23:37:47 +09:00
Dean Herbert
36bd235021 Move nested classes to bottom of file 2021-04-12 23:36:10 +09:00
Naxess
7c4f6d2b62 Rework template usage
Includes moving the origin check back to templates, constructing nested template classes in each check, and making parameterized template usage.
2021-04-12 15:47:26 +02:00
Naxess
a2fc9c398f Rename CreateChecker -> CreateBeatmapVerifier 2021-04-12 10:08:30 +02:00
Naxess
65ebdd8f7a Move check origin from IssueTemplate to Issue
As a result we can also make check an interface, and need to provide the check itself when constructing an issue.
2021-04-12 10:08:08 +02:00
Dean Herbert
8bf85d737c Change Metadata into a get property 2021-04-12 15:52:29 +09:00
Dean Herbert
8c31e96cdf Change some methods to get properties 2021-04-12 15:52:18 +09:00
Dean Herbert
f78239c7f2 Move enums out of nesting 2021-04-12 15:52:18 +09:00
Dean Herbert
1c553b5d48 Checker -> BeatmapVerifier 2021-04-12 15:29:05 +09:00
Dean Herbert
14bd5bdc77 Merge branch 'master' into verify-tab 2021-04-12 15:14:37 +09:00
Dean Herbert
e2470d757e
Merge branch 'master' into legacy-spm-counter 2021-04-12 12:52:52 +09:00
Joseph Madamba
a42714540b Add follow delay setting to osu! flashlight mod 2021-04-10 23:04:15 -07:00
Naxess
dac733cced Fix field name and accessibility 2021-04-10 15:49:57 +02:00
Naxess
3289bb0379 Merge Check and BeatmapCheck
We're probably not going to need GeneralChecks or BeatmapsetChecks.

The verify tab is only available to a single difficulty at a time, and we already have access to the rest of the set through `IBeatmap`.
2021-04-10 14:56:30 +02:00
Naxess
bc4f3351f3 Replace checks with realistic ones 2021-04-10 13:03:16 +02:00
Naxess
d1007ff26a Move components to more appropriate spot 2021-04-10 13:02:22 +02:00
Dean Herbert
cceb10cc85
Merge pull request #12337 from Naxesss/slider-path-segments
Improve UX of correcting invalid slider path types
2021-04-09 19:26:49 +09:00
Naxess
f64b2095bf Carry over the previous path type 2021-04-09 11:04:00 +02:00
smoogipoo
f2e811928b Rework slider hackery to not overwrite Samples 2021-04-09 15:28:08 +09:00
smoogipoo
8efa381d3a Actually use whistle sample for sliderwhistle 2021-04-08 23:13:16 +09:00
smoogipoo
7d291ed7d7 Don't serialise OriginalSamples 2021-04-08 20:57:50 +09:00
smoogipoo
7713c8a45f Add support for sliderwhistle 2021-04-08 20:20:09 +09:00
Naxess
9a675a2219 Correct 4+ point perfect curves to Bezier 2021-04-08 12:33:43 +02:00
Naxess
be4520fe33 Fix index out of range possibility 2021-04-08 11:46:00 +02:00
Naxess
0341023d13 Improve UX of selecting PerfectCurve 2021-04-08 09:06:28 +02:00
Naxess
725edfcbf3 Add path type menu change method 2021-04-08 09:05:35 +02:00
Dean Herbert
a8839792fd
Merge branch 'master' into circular-arc-freeze 2021-04-08 14:33:03 +09:00
Naxess
d6490899e2 Simplify slider path bindings
Adds a slight performance overhead, but solves the memory leak and makes the code much easier to follow.
2021-04-08 03:21:56 +02:00
Naxess
d1d56c636a Convert pathTypes to local variable
Not entirely sure what holds the reference to pathTypes now (the binding to`slider.Path.ControlPoints` maybe?), but this does seem to work still.
2021-04-08 01:43:06 +02:00
Naxess
b8ab1c7682 Track path type changes for PointsInSegment 2021-04-07 17:19:12 +02:00
Naxess
9c4604e3c5 Add example checks 2021-04-07 14:36:53 +02:00
Naxess
0343ef7f14 Add ruleset-specific checker 2021-04-07 14:36:43 +02:00
Dean Herbert
784552022f
Merge pull request #12303 from smoogipoo/fix-last-control-point-segmenting
Make last control point not able to make an implicit segment
2021-04-06 13:35:55 +09:00
smoogipoo
42e816fcae Add failing tests 2021-04-05 17:48:29 +09:00
Samuel Cattini-Schultz
85d2b1232a Refactor to abstract out strain logic into StrainSkill class
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11:00
smoogipoo
9c3d15171c Reword xmldoc slightly 2021-04-02 18:00:28 +09:00
Amber
5ac36a2462 Switch AlwaysPlaySample to SamplePlaysOnlyOnHit in DrawableSliderTail for conformity 2021-04-02 03:56:23 -05:00
Amber
48e9985782 Make "AlwaysPlayTailSample" a mod setting rather than a hardcoded constant. 2021-04-02 03:10:28 -05:00
Amber
5063cd957f Force hit sample to play when Classic mod is enabled 2021-04-02 02:54:35 -05:00
Naxess
7e47922fb7
Merge branch 'master' into circular-arc-freeze 2021-04-01 17:09:45 +02:00
Naxess
5022a78e80 Check current point instead of start point
Since each control point will call this when the path updates, the previous would correct the start segment 3 times instead of just once.

This fixes that.
2021-03-31 20:25:46 +02:00
Naxess
75b8f2535f Move updatePathTypes to PathControlPointPiece
Here we produce a local bound copy of the path version, and bind it to update the path type.

This way, if the path version updates (i.e. any control point changes type or position), we check that all control points have a well-defined path.

Additionally, if the control point piece is disposed of, the GB should also swoop up the subscription because of the local bound copy.
2021-03-31 20:09:56 +02:00
Dean Herbert
b82247aabe Add inline comments and use Vector2.Zero 2021-03-30 14:13:16 +09:00
Dean Herbert
eda45e0e28 Merge branch 'master' into scale-breaking-bounds 2021-03-30 14:05:19 +09:00
Dean Herbert
9504fe3f3c Inline add of spm calculation (no need for it to be a separate call) 2021-03-30 13:43:05 +09:00
Salman Ahmed
f848ef5347 Add legacy spinner SPM counter support 2021-03-30 04:19:23 +03:00