Commit Graph

1856 Commits

Author SHA1 Message Date
fbc316ea1d Fix legacy skin transformers potentially ignoring source implementations 2021-05-29 21:23:22 +03:00
70a844ac10 Remove allowFallback parameters completely 2021-05-27 14:50:42 +09:00
a3c78674a1 Add new interface for autoplay mods 2021-05-25 18:09:24 +09:00
cc5c702a92 Apply all properties after cast (looks cleaner) 2021-05-19 17:31:47 +09:00
bddc3121dc Merge branch 'master' into mania-pooling 2021-05-19 17:23:45 +09:00
9ede358e7e Merge branch 'master' into mania-pooling 2021-05-18 22:25:54 +09:00
ef81bdf63f Merge branch 'master' into always-use-lifetime-entry 2021-05-18 20:10:12 +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
562ac73e96 Merge branch 'hoc-event-queue' into mania-pooling 2021-05-18 14:54:00 +09:00
72beddaadc Remove nested blueprints from hold notes 2021-05-18 14:25:07 +09:00
e621cfc4ea Add Apply() method for applying new DHOs 2021-05-18 14:14:10 +09:00
166974506e Duplicate implementions 2021-05-15 11:55:50 +08:00
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