Commit Graph

4342 Commits

Author SHA1 Message Date
6e5c4ed7c6 Revert "Remove empty override"
This reverts commit a86a4bab91.
2021-05-15 11:45:14 +08:00
628e7a71ed Ignore possible nulls in Type.GetType() calls
They're mostly used in extensibility scenarios, so everything happens in
runtime. There is no better resolution than to crash with a null
reference exception.
2021-05-15 00:09:34 +02:00
a86a4bab91 Remove empty override 2021-05-14 21:55:32 +08:00
67dfeeb1b7 Cleanup code in ModHidden 2021-05-14 21:29:13 +08:00
fcb226bd20 Add local variable for regular access to HitObjects 2021-05-14 16:23:45 +09:00
a447f20095 Fix formatting of #nullable enable 2021-05-14 03:38:35 +02:00
90e0b3374e Add #nullable enable
Co-authored-by: Dean Herbert <pe@ppy.sh>
2021-05-14 03:34:50 +02: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
b37cb3bdbe Change interpreted difficulty from bindable to regular value
There's no reason for why checks would need this to be bindable. A 1-directional binding is more appropriate.
2021-05-13 09:00:30 +02:00
e7c7786db3 Merge branch 'master' into beatmap-verifier-context 2021-05-13 07:40:33 +02:00
5b71d8ca37 Merge pull request #12758 from Naxesss/verify-settings-ui
Add setting UI components to the verify screen
2021-05-13 14:35:35 +09:00
1b579dd838 Extract invariant instantiation info extension method 2021-05-12 23:23:51 +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
64d96b06a6 Add interpreted difficulty info to BeatmapVerifierContext
Enables checks to make use of the difficulty level as shown in the settings UI.
2021-05-12 02:30:21 +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
75adec57eb Remove negligible default hidden TODO 2021-05-12 01:31:16 +02:00
2ecd638f7f Merge branch 'master' into skin-components-list 2021-05-10 18:13:10 +09:00
111b501ced Revert accidental removal of UTF-8 BOM 2021-05-07 18:04:38 +09:00
207f7f1e56 Rename FramedAutoGenerator<T> -> AutoGenerator<T> 2021-05-07 00:31:12 +09:00
ea35b72436 Remove unused IAutoGenerator interface 2021-05-06 22:57:07 +09:00
9be36230f9 Introduce AutoGenerator subclass for frame based replay generation 2021-05-06 21:59:11 +09:00
aff32b0d19 Merge branch 'master' into skin-components-list 2021-05-06 14:17:33 +09:00
cd6d070b4a Consider "combo offsets" as legacy logic and separate from combo information 2021-05-05 07:43:08 +03:00
eeeb001d62 Refactor combo colour retrieval logic to request skin lookups instead 2021-05-05 07:17:27 +03:00
aa42cf2fc0 Fix setting lifetime during KeepAlive is ignored 2021-05-04 16:56:48 +09:00
913fc8c3bc Revert the change of not adding non-pooled DHO to HOC until alive 2021-05-04 16:44:48 +09:00
36438175a0 Throw an exception if try to modify lifetime of PoolableDrawableWithLifetime without lifetime 2021-05-04 16:04:58 +09:00
943c497397 Return back removed using 2021-05-03 02:02:14 +03:00
b2130fc600 Fix replay frames sort instability 2021-05-03 01:58:44 +03:00
a551958eeb Move caching of IBeatmap to base DrawableRuleset 2021-05-01 21:32:45 +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
9cb55ca245 Merge branch 'master' into barrel-roll 2021-04-30 22:27:27 +02:00
b145f46a0a Merge branch 'master' into skin-components-list 2021-04-30 21:10:55 +03:00
e6eea73b8b Merge branch 'master' into basic-compose-checks 2021-04-30 23:41:46 +09:00
a1e64f4e3c Use the existing toolbox design 2021-04-30 14:41:06 +09:00
e69ec91c07 Add xmldoc for CurrentRotation 2021-04-30 11:25:39 +09:00
7bf3498e2a Calculate playfield scale locally 2021-04-30 02:49:19 +03:00
25e0fb1cf9 Refactor OsuModBarrelRoll to allow it's usage by other rulesets 2021-04-30 01:59:59 +03: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
5b009c21bb Merge branch 'master' into abstract-blueprint-handling 2021-04-29 16:10:22 +09:00
73dfb04df8 Fix uninitialized scrollLength value is used 2021-04-29 15:17:30 +09:00
632bb70e0f Use entry to calculate lifetime in ScrollingHOC
DHOs cannot be used to calculate lifetime, it is not created before the entry became alive.
2021-04-29 15:04:32 +09:00
c83c804057 Expose lifetime entries from HOC 2021-04-29 14:42:41 +09:00
5aa522b1c2 Completely delegate DHO lifetime to Entry lifetime
A downside is lifetime update is not caught by LifetimeManagementContainer if used.
2021-04-29 14:38:01 +09:00
799d2a3300 Replace failed mania test (pooling not accounted) with a more robust test
Also fix null reference in Playfield
2021-04-29 14:38:01 +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
f3c7694eeb Rename methods to match generally how these find-methods are named elsewhere 2021-04-28 16:57:52 +09:00
48d6c9ac4b Move snap/divisor helper methods to inside ControlPointInfo 2021-04-28 16:47:30 +09:00