Commit Graph

533 Commits

Author SHA1 Message Date
3d88a745cd Fix osu editor transforms not specified in the absolute time 2021-08-18 14:27:16 +09:00
fbaa480b3e Fix out-of-order hits in editor causing exceptions 2021-08-12 10:08:54 +09:00
cc01b9e639 Extract SliderPath reverse logic to be used in other rulesets 2021-07-22 16:14:43 +09:00
adda96ac86 Merge pull request #13962 from ekrctb/platform-action
Adapt to framework `PlatformAction` type change
2021-07-21 18:17:38 +09:00
1bac471b49 Adapt to PlatformAction type change 2021-07-21 16:12:53 +09:00
1bff4373b3 Allow specifying flipping support of selection box different from scaling 2021-07-21 15:59:45 +09:00
3a5912e35e Add new checks to verifiers 2021-07-13 10:53:25 +02:00
53c0298b5e Add too short spinners check and tests 2021-07-13 10:51:40 +02:00
fec9448301 Add too short sliders check and tests 2021-07-13 10:50:41 +02:00
50c27d2635 Update usages of IHasTooltip in line with framework localisation changes 2021-06-25 19:10:04 +02:00
6c3d2315d0 Merge pull request #13606 from Naxesss/low-diff-checks
Add low difficulty spacing checks
2021-06-22 16:29:37 +09:00
e9339d6100 Move some inline comments on consts to xmldoc instead 2021-06-22 15:16:19 +09:00
2f3f4f3e4b Add new checks to verifier 2021-06-21 15:30:45 +02:00
fcb918d0e1 Add time distance equality check 2021-06-21 15:30:23 +02:00
3eb088f89a Add low difficulty overlaps check 2021-06-21 15:30:04 +02:00
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
e94fbd83e2 Ensure editor ruleset animation disable execution order 2021-06-18 16:04:11 +02:00
e2a370f602 Add coverage for hit circle fade-out duration 2021-06-18 16:04:11 +02:00
3db995c778 Fix sliders jumping around the screen on movement 2021-05-24 17:15:57 +09:00
bb2fae55ce Merge branch 'master' into refactor-selection-rotate-logic 2021-05-21 19:19:54 +09:00
df5970fab4 Create base implementations of the two most common TernaryStateMenuItems 2021-05-20 19:34:53 +09:00
27e81d6504 Implement proper rotation algorithm for skin editor 2021-05-20 18:21:16 +09:00
a0f67ef3bc Move scaling logic out of OsuSelectionHandler for reuse 2021-05-19 17:37:28 +09:00
d661e98fa6 Move common functionality out of OsuSelectionHandler and implement flip support 2021-05-18 18:34:06 +09:00
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
532c41c82e Remove nested blueprints from sliders 2021-05-18 14:19:11 +09:00
e621cfc4ea Add Apply() method for applying new DHOs 2021-05-18 14:14:10 +09:00
ffb6135a1b Rework hitobject blueprints to take in hitobject models 2021-05-13 19:53:32 +09:00
19800f5f7f Move IBeatmap arg into context 2021-05-13 11:24:22 +02:00
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
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
01d732bb65 Revert "Refactor SliderSelectionBlueprint to not reference blueprint pieces for input handling"
This reverts commit 54fe10c82a.
2021-05-08 23:33:03 +09:00
63e267a3be Revert "Trim redundant this qualifier"
This reverts commit df630d9428.
2021-05-08 23:32:52 +09:00
df630d9428 Trim redundant this qualifier 2021-05-08 14:53:19 +02:00
54fe10c82a Refactor SliderSelectionBlueprint to not reference blueprint pieces for input handling 2021-05-07 10:36:03 +09:00
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
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
f586bc46e6 Avoid using EditorBeatmap.SelectedHitObjects 2021-04-27 19:01:29 +09:00
f2e56bd306 Refactor editor selection/blueprint components to be generic 2021-04-27 19:01:29 +09:00
ec1c336b0a Fix a couple of inspections 2021-04-27 13:23:14 +09:00
8795c5f082 Update osu! editor transform logic to allow adjustments to DrawableSliderRepeat and DrawableSliderTail 2021-04-26 15:27:10 +09:00
e8d83f2f99 Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword 2021-04-26 14:33:30 +09:00
0f70469d1c Only apply custom editor overrides if hit animations is disabled 2021-04-21 19:44:17 +09:00
f2824a222a Adjust existing fades to close match stable editor 2021-04-21 19:41:15 +09:00
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
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
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
401bf368a7 Merge branch 'fix-slider-scale-crash' into fix-slider-zero-length 2021-04-16 16:58:19 +09:00
8de68e0ebf Fix div-by-zero when scaling a 1-dimensional slider 2021-04-16 16:55:26 +09:00
ff408b852e Handle scaling a slider below minimum length 2021-04-16 15:45:24 +09:00