Commit Graph

1844 Commits

Author SHA1 Message Date
b5afe4e506 Merge branch 'hoc-event-queue' into mania-pooling 2021-05-13 21:53:38 +09:00
2307889bf8 Fix incorrect cast 2021-05-13 21:41:28 +09:00
98e77a30d3 Move column changing logic to ManiaSelectionHandler 2021-05-13 20:13:50 +09:00
ffb6135a1b Rework hitobject blueprints to take in hitobject models 2021-05-13 19:53:32 +09:00
0fa3027ab9 Increase pool sizes a bit 2021-05-12 17:37:59 +09:00
f992b59b4f Fix DrawableHoldNote retaining hit states through applications 2021-05-12 17:07:42 +09:00
1af3bbf400 Fix base.OnLoadComplete() not being called 2021-05-12 17:06:44 +09:00
7913189aa9 Turn on pooling 2021-05-12 16:56:23 +09:00
789025a7ce Update playfield/stage/column implementations for pooling 2021-05-12 16:56:07 +09:00
4e7551d50e Fix crashes 2021-05-12 16:40:46 +09:00
5692cecaa4 Initial implementation of DHO pooling 2021-05-12 16:35:05 +09:00
87dfd9672d Merge pull request #12748 from smoogipoo/fix-mania-sample-crash
Fix mania crashing on playing samples after skin change
2021-05-12 14:10:08 +09:00
05c21fb5b3 Increase mania HP lenience 2021-05-12 13:27:30 +09:00
672108edcf Use container instead of array for field 2021-05-12 13:27:12 +09:00
3428056113 Remove unnecessary usage of ChildrenEnumerable for array assignment 2021-05-12 13:00:02 +09:00
bf44c09a91 Add name identifying container and rename index variable 2021-05-12 12:59:46 +09:00
d706073e01 Trim empty remarks xmldoc tag 2021-05-11 23:08:50 +02:00
713c169332 Fix mania crashing on playing samples after skin change 2021-05-11 16:21:21 +09:00
207f7f1e56 Rename FramedAutoGenerator<T> -> AutoGenerator<T> 2021-05-07 00:31:12 +09:00
cf39178099 Use FramedAutoGenerator in Taiko, Catch, Mania
OsuAutoGenerator is not included in this change because it uses SortedList-like thing
2021-05-06 22:57:07 +09:00
4a93e27e83 Revert "Fix mania editor null reference"
This reverts commit 1d023dce
2021-05-04 16:46:30 +09:00
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
1d023dcedb Fix mania editor null reference 2021-04-29 14:39:52 +09:00
d262956146 Always use LifetimeEntry to manage hit objects in HitObjectContainer
Previously, non-pooled DHOs were immediately added as children of the HOC when Add is called. Also, non-pooled DHOs were always attached to the HOC as children.
New behavior is that non-pooled DHOs are only added after CheckChildLifetime, and only attached to the HOC while the DHOs are alive.

- LifetimeManagementContainer inheritance of HOC is removed, as it is now all DHOs are "unmanaged" (previously `AddInternal(false)`).
- The signature of `Clear` is changed, and it is now always not disposing the children immediately.
2021-04-29 14:38:01 +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