Commit Graph

531 Commits

Author SHA1 Message Date
ekrctb cc01b9e639 Extract `SliderPath` reverse logic to be used in other rulesets 2021-07-22 16:14:43 +09:00
Dean Herbert adda96ac86
Merge pull request #13962 from ekrctb/platform-action
Adapt to framework `PlatformAction` type change
2021-07-21 18:17:38 +09:00
ekrctb 1bac471b49 Adapt to `PlatformAction` type change 2021-07-21 16:12:53 +09:00
ekrctb 1bff4373b3 Allow specifying flipping support of selection box different from scaling 2021-07-21 15:59:45 +09:00
Naxess 3a5912e35e Add new checks to verifiers 2021-07-13 10:53:25 +02:00
Naxess 53c0298b5e Add too short spinners check and tests 2021-07-13 10:51:40 +02:00
Naxess fec9448301 Add too short sliders check and tests 2021-07-13 10:50:41 +02:00
Bartłomiej Dach 50c27d2635 Update usages of `IHasTooltip` in line with framework localisation changes 2021-06-25 19:10:04 +02: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 e9339d6100 Move some inline comments on `const`s 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
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
smoogipoo 3db995c778 Fix sliders jumping around the screen on movement 2021-05-24 17:15:57 +09: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 `TernaryStateMenuItem`s 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
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 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
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 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
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
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
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 e8d83f2f99 Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword 2021-04-26 14:33:30 +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
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
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
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