Commit Graph

1771 Commits

Author SHA1 Message Date
a551958eeb Move caching of IBeatmap to base DrawableRuleset 2021-05-01 21:32:45 +09:00
db815f7930 Tidy up implementation in DrawableNote 2021-05-01 20:39:10 +09:00
fdf8c12947 Replace BeatDivisorFinder with GetClosestBeatDivisor 2021-05-01 11:57:47 +08:00
ecb053b0de Merge branch 'master' of https://github.com/ppy/osu into justusft/mania-color-snap 2021-05-01 11:20:28 +08:00
e6eea73b8b Merge branch 'master' into basic-compose-checks 2021-04-30 23:41:46 +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
c4d28110d6 Add visual tests for timing based note coloring 2021-04-27 19:02:57 +08:00
f2e56bd306 Refactor editor selection/blueprint components to be generic 2021-04-27 19:01:29 +09:00
a3570e18dd Add concurrent objects check
Here we use `IHasColumn` to support rulesets with columns, and so I moved that interface out into `osu.Game` from `osu.Game.Rulesets.Mania`.

We also use the same threshold as the unsnap check to ensure that no problems slip through. Specifically where an object is simultaneously not concurrent and not unsnapped but still on the same tick.
2021-04-26 20:17:18 +02:00
559d403abe Rename ColourCodedNotes to TimingBasedNoteColouring 2021-04-26 19:05:12 +08:00
58ebec4803 Move BindValueChanged hooks to LoadComplete() 2021-04-26 19:00:40 +08:00
e8d83f2f99 Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword 2021-04-26 14:33:30 +09:00
e14255f395 Rename {Snap -> BeatDivisor}Finder 2021-04-25 17:44:26 +02:00
afb67726f0 Reduce casting 2021-04-25 17:41:23 +02:00
f9e228d6bf Use null-permitting BDL to reduce number of fields 2021-04-25 17:40:23 +02:00
211bff6a8f Fix cake errors 2021-04-25 09:21:25 +08:00
8b9d2a6cff Remove caching for ConfigColourCodedNotes 2021-04-25 08:32:49 +08:00
d3db19c3ce Simplify DrawableNote 2021-04-25 08:11:44 +08:00
e0ca44c908 Move SnapFinder from mania ruleset to osu.Game 2021-04-25 07:35:53 +08:00
eaac4fe6c7 Simplify FindSnap method 2021-04-25 06:38:15 +08:00
bedabc1ddf Fix cake errors 2021-04-24 22:12:07 +08:00
8b01082cbb Fix visual tests missing dependency for ColourCodedNotes 2021-04-24 21:28:48 +08:00
3103fd8343 Move snapping logic into SnapFinder 2021-04-24 21:28:35 +08:00
91bf0d422d Rename ColourCode to ColourCodedNotes 2021-04-24 20:40:30 +08:00
a8b401522b Remove ManiaColourCode in favor for boolean 2021-04-24 20:39:22 +08:00
d6d81fb8e5 Move color snap logic from Note to DrawableNote 2021-04-24 19:53:21 +08:00
f9905ebe68 Remove beatmap argument in Note 2021-04-24 19:37:10 +08:00
7e3a611f95 Add snap color option for osu!mania 2021-04-24 16:23:52 +08:00
a242df31e8 Merge pull request #12534 from smoogipoo/fix-hold-note-crash
Fix hold notes with 0 length crashing the game
2021-04-22 21:14:36 +09:00
739d83da2a Merge pull request #12515 from frenzibyte/legacy-scores-classic-mod
Apply "classic" mod to all legacy scores
2021-04-22 19:52:09 +09:00
4148d473e3 Fix hold note crashing with 0 length 2021-04-22 19:51:33 +09:00
b37c5a8749 Rollback hold note placement when length is zero 2021-04-22 14:59:57 +09:00
e3398d8f1f Implement "classic" mod for all other legacy rulesets
Currently empty, automatically handled in game to not be selectable (see `Mod.HasImplementation`)
2021-04-21 09:14:33 +03:00
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
a965e8a75d Remove AutoGenerator workaround of now-fixed issue 2021-04-16 14:13:41 +09:00
119c9b4294 Fix placement blueprints not being correctly removed after a rolled back placement 2021-04-16 14:11:33 +09:00
55421b0065 Add missing full stop
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-04-15 14:41:10 +09:00
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
9d8a26f373 Merge branch 'master' into diffcalc/refactor-strain-skill 2021-04-06 08:21:38 +09:00
6bcbef9f25 Merge pull request #12294 from smoogipoo/mania-scoring-adjustments
Adjust scoring values to better fit osu!mania expectations
2021-04-05 17:19:28 +09:00
3acc612a67 Adjust scoring values to better fit osu!mania 2021-04-05 13:28:46 +09:00
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
5b2dcea8a8 Refactor to encapsulate strain logic into Skill class
As strains are an implementation detail of the current Skill calculations, it makes sense that strain related logic should be encapsulated within the Skill class.
2021-04-03 20:47:43 +11:00
345779b19a Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-04-02 20:58:29 +09:00
43e48406ca Miss all ticks when hold note is hit 2021-03-31 12:21:14 +09:00
56428a027e Change static method to public 2021-03-30 16:56:20 +09:00
e769ef45be Fix misplaced parenthesis 2021-03-30 16:55:39 +09:00
1d968009c2 Add osu!mania key filtering using "keys=4" at song select 2021-03-30 16:09:35 +09:00
690debe507 Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy 2021-03-29 19:31:16 +09:00