Dean Herbert
7ec5ea1eb5
Remove hitobject terminology from base classes
2021-04-27 19:01:29 +09:00
Dean Herbert
ff06a27a12
Revert changes to OnBlueprint
methods and handle select-on-addition locally
2021-04-27 19:01:29 +09:00
Dean Herbert
f97b14a20a
Fix binding direction of selected items
2021-04-27 19:01:29 +09:00
Dean Herbert
dd3d8e5d03
Make SelectionHandler
abstract to ensure things get implemented
2021-04-27 19:01:29 +09:00
Dean Herbert
32416e4e31
Move model selection handling to base SelectionHandler
class
2021-04-27 19:01:29 +09:00
Dean Herbert
eac139ca0e
Allow BlueprintContainer to perform movement without an ISnapProvider
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
Derrick Timmermans
3ea55314f2
Update osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-04-27 11:29:16 +02:00
ekrctb
3899e500d3
Adopt framework change of LifetimeEntry
...
Override SetLifetimeStart/SetLifetimeEnd separately to track individual assignment. It is necessary to ensure real lifetime is not lost when lifetime is partially updated.
2021-04-27 17:54:18 +09:00
ekrctb
c9e6ca5378
Use now-public Entry.SetLifetime method
2021-04-27 15:25:05 +09:00
ekrctb
a2c0951d94
Use overriding instead of hiding in HitObjectLifetimeEntry
...
Hidden properties are used when the type is the base class. It caused issues when `DrawableHitObject` logic is factored out to `PoolableDrawableWithLifetime` because it is using the base `LifetimeEntry`, not `HitObjectLifetimeEntry`.
2021-04-27 15:23:33 +09:00
Dan Balasescu
ea3c5aed2f
Merge pull request #12590 from peppy/editor-minor-refactors
...
Fix a couple of inspections in editor code
2021-04-27 14:09:36 +09:00
Dean Herbert
ec1c336b0a
Fix a couple of inspections
2021-04-27 13:23:14 +09:00
Derrick Timmermans
08a232f7fa
Add method to safely refresh DrawableHitObject transforms
2021-04-26 20:08:40 +02:00
smoogipoo
213ac88a8b
Fix exported scores not being compatible with osu-stable
2021-04-26 20:52:20 +09:00
smoogipoo
6560dc2d1f
Fix exported replays being wrapped in zip packages
2021-04-26 20:46:44 +09:00
Dan Balasescu
6d2a5b614c
Merge branch 'master' into drawable-object
2021-04-26 18:33:44 +09:00
smoogipoo
fd5fbaf0db
Rename ruleset wrapper class
2021-04-26 15:37:42 +09:00
ekrctb
6561a7c7d6
Rename DrawableObject -> PoolableDrawableWithLifetime
2021-04-26 12:06:21 +09:00
ekrctb
20e3cadd30
freeIfInUse -> free, and add comments
2021-04-26 12:04:59 +09:00
ekrctb
e6474e6ff7
Remove redundant statement (lifetime is set in base)
2021-04-26 11:47:38 +09:00
Bartłomiej Dach
e937b778f6
Fix potential failure in ensureSourceClockSet()
...
`ensureSourceClockSet()` was intended to only run when the adjustable
source hasn't been set at all yet. As it turns out permitting it to run
unconditionally can break the state of the underlying interpolated
clock. This is caused by the following factors:
* While the decoupleable clock is running, its `CurrentTime` does not
come from either the source clock, or the internal stopwatch; it is
instead calculated using the base `InterpolatingFramedClock` logic.
* A source change of a decoupleable clock seeks the provided source
clock to the decoupleable's current time.
* When an interpolating clock is seeked (decoupleable clock is also
an interpolating one), its interpolation state
(`{Last,Current}InterpolatedTime`) are reset to 0.
* If the interpolating clock determines that its current time is too
far away from the source's time (which was set when the source is
changed), it will ignore the source and instead continue to use
its current time until the source clock has caught up.
Overall, the source change is not really necessary if a source is
already there. The only reason to ensure it was set was to make sure
the first seek of the gameplay clock wasn't performed in decoupled
mode. Therefore, add a guard to make sure the source is only set if
there isn't one already.
2021-04-24 14:19:39 +02:00
Bartłomiej Dach
34fa51dee9
Merge branch 'master' into gcc-change-source-on-reset
2021-04-24 13:23:02 +02:00
Dean Herbert
2ae144be8e
Update framework
2021-04-24 14:38:00 +09:00
Bartłomiej Dach
fdb5490e51
Attempt to explain source initialisation better
2021-04-23 21:56:08 +02:00
smoogipoo
ae2fd2f2e1
Ensure source is set on reset
2021-04-23 18:46:59 +09:00
Dean Herbert
3b77d02752
Merge pull request #12537 from smoogipoo/fix-initial-playingusers
...
Fix current match playing users not updated on room join
2021-04-23 12:00:33 +09:00
Dean Herbert
fbb9cb3f6f
Fix broken merge resolution
2021-04-23 11:01:48 +09:00
Dean Herbert
a9a24bd481
Merge branch 'master' into ruleset-switch-sounds
2021-04-23 10:50:41 +09:00
smoogipoo
f593d9e42c
Fix playing users not being updated on room join
2021-04-22 23:23:43 +09:00
smoogipoo
0ee73b8e53
Add failing test
2021-04-22 23:22:44 +09:00
Dean Herbert
b4f492ca4c
Update framework
2021-04-22 23:06:46 +09:00
Dan Balasescu
93b53f54fa
Merge pull request #12531 from peppy/editor-add-nudge-shortcuts
...
Add simple key based time nudging support to editor
2021-04-22 21:14:51 +09:00
Dan Balasescu
50f37ef09c
Merge pull request #12519 from peppy/editor-hit-animation-toggle
...
Add editor hit animation toggle
2021-04-22 20:49:21 +09:00
Dan Balasescu
be8fe47f2c
Merge branch 'master' into editor-add-nudge-shortcuts
2021-04-22 20:38:34 +09:00
Dean Herbert
891a6a83d2
Merge branch 'master' into ruleset-switch-sounds
2021-04-22 20:17:21 +09:00
Dean Herbert
d20a8694e4
Update resources
2021-04-22 19:55:06 +09:00
Dan Balasescu
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
Dan Balasescu
b774f5b72b
Merge pull request #12526 from peppy/fix-system-message-ordering
...
Fix system messages always being displayed above standard messages
2021-04-22 18:51:25 +09:00
Dan Balasescu
0e24f2eb59
Merge pull request #12529 from peppy/editor-placement-right-click-delete
...
Allow shift+right-click deletion when in placement mode
2021-04-22 18:50:20 +09:00
Dean Herbert
a5364b224f
Add simple key based time nudging support to editor
2021-04-22 18:47:04 +09:00
smoogipoo
d4d78f7434
Merge branch 'master' into legacy-scores-classic-mod
2021-04-22 18:44:20 +09:00
smoogipoo
8a6267580a
Fix nullref
2021-04-22 18:44:14 +09:00
Dean Herbert
1884c18a2c
Ignore movement operations which have no offset
2021-04-22 18:12:03 +09:00
Dean Herbert
daafa41dc1
Merge branch 'master' into fix-initial-spectator-state-callback
2021-04-22 16:22:04 +09:00
Dean Herbert
68807a90ec
Merge pull request #12448 from smoogipoo/gcc-abstraction
...
Make GameplayClockContainer abstract and add MasterGameplayClockContainer
2021-04-22 16:20:52 +09:00
Dean Herbert
9a7bf8109f
Allow certain mouse input to pass through PlacementBlueprints
to the selection logic
2021-04-22 15:44:12 +09:00
Dean Herbert
3befb49ea9
Fix system messages always being displayed above standard messages
...
Closes https://github.com/ppy/osu/issues/12509 .
2021-04-22 14:52:01 +09:00
Jamie Taylor
21f34be19f
Add support for per-ruleset sample playback when switching rulesets (via toolbar)
2021-04-22 14:43:36 +09:00
Dean Herbert
60b702549d
Update framework
2021-04-22 14:20:49 +09:00
Dean Herbert
9d8f0c854d
Setup configuration item for editor hit animations
2021-04-21 18:05:40 +09:00
Dean Herbert
c6c91cd9a5
Refactor WaveformOpacityMenuItem
to not receive whole config
2021-04-21 18:05:26 +09:00
ekrctb
b877a29737
Factor out pooling and lifetime management logic of DHO to a base class
2021-04-21 17:37:42 +09:00
ekrctb
bbf2ec369b
Remove SkinReloadableDrawable inheritance from DHO
2021-04-21 17:34:57 +09:00
Dean Herbert
deeb9e3765
Update framework
2021-04-21 17:27:00 +09:00
Dan Balasescu
cf55383fff
Merge pull request #12486 from ekrctb/unmanaged-hit-object-entry
...
Associate DrawableHitObject with HitObjectLifetimeEntry rather than HitObject
2021-04-21 17:08:21 +09:00
smoogipoo
31c5fb350f
Merge branch 'master' into gcc-abstraction
2021-04-21 16:33:36 +09:00
smoogipoo
fb848f7544
Rename to MasterGameplayClock
2021-04-21 16:33:14 +09:00
Dean Herbert
ab2a8b5c89
Fix initial rotation not being set
2021-04-21 16:12:09 +09:00
Dean Herbert
eb20865c02
Show tablet preview with physical tablet counter-rotated for supplied user area selection
...
Closes https://github.com/ppy/osu/issues/12399 .
Rotation animation is intentionally delayed slightly to give a better sense of what is going on (or maybe just look cool).
2021-04-21 15:55:15 +09:00
Salman Ahmed
1a715b2926
Append "classic" mod to legacy scores
2021-04-21 09:16:28 +03:00
Salman Ahmed
e90d791754
Add base "classic" mod
2021-04-21 09:14:19 +03:00
ekrctb
3fbeadf318
Deprecate old overload of Apply
2021-04-21 14:32:37 +09:00
ekrctb
73d3da1687
Fix wrong InitialLifetimeOffset is used for a non-pooled DHO.
...
HitObjectLifetimeEntry's InitialLifetimeOffset is different from DrawableHitObject's InitialLifetimeOffset.
2021-04-21 11:32:01 +09:00
ekrctb
44ff08cce4
Revert "Fix wrong InitialLifetimeOffset is used for a non-pooled DHO."
...
This reverts commit 67fcfd9d
2021-04-21 10:02:50 +09:00
ekrctb
67fcfd9dbc
Fix wrong InitialLifetimeOffset is used for a non-pooled DHO.
...
HitObjectLifetimeEntry's InitialLifetimeOffset is different from DrawableHitObject's InitialLifetimeOffset.
2021-04-21 09:48:16 +09:00
ekrctb
e80c3c317a
Rename UnmanagedHitObjectEntry -> SyntheticHitObjectEntry
...
"Unmanaged" was confusing because its lifetime is still managed by the HitObjectContainer.
2021-04-21 09:23:23 +09:00
Bartłomiej Dach
a2afa38a3f
Merge branch 'master' into fix-mod-customisation-input-blocking-padding
2021-04-20 19:41:25 +02:00
Dean Herbert
26430e3cb5
Merge pull request #12492 from Naxesss/bg-audio-quality-checks
...
Add background and audio checks
2021-04-21 00:10:32 +09:00
Dean Herbert
7fc450c620
Fix mod settings blocking input outside its visible area
...
Closes #12502 .
2021-04-20 23:42:56 +09:00
smoogipoo
4cc3321d54
Fix potential doubling of events
2021-04-20 21:20:08 +09:00
smoogipoo
a9e4a0ed50
Fix potentially starting play when finished
...
The UserFinishedPlaying event may trigger before the event is subscribed
to by SpectatorScreen. For such cases, an extra check is done to make
sure the user is _actually_ playing.
2021-04-20 21:19:08 +09:00
smoogipoo
156a518068
Merge branch 'master' into fix-initial-spectator-state-callback
2021-04-20 21:16:05 +09:00
Naxess
e9dfa2860a
Add xmldoc note about path being relative
2021-04-20 13:44:06 +02:00
Naxess
d7a81471c8
Add xmldoc to GetPathForFile
2021-04-20 13:40:38 +02:00
Naxess
3e1b6b3b34
Simplify verifier run call args
...
Uses the resolved working beatmap instead of resolving it every time.
Also uses the EditorBeatmap itself as playable beatmap, as it is of type `IBeatmap` already, and `.PlayableBeatmap` forwards everything anyway.
2021-04-20 13:34:12 +02:00
smoogipoo
ec080fcb32
Move seekOffset back to MasterGameplayClockContainer
2021-04-20 18:25:46 +09:00
smoogipoo
a683e5ec34
Seek using local method
2021-04-20 17:40:11 +09:00
smoogipoo
97fb90d9f4
Move clock processing to base.Seek()
2021-04-20 17:35:59 +09:00
smoogipoo
80473a356e
Merge branch 'fix-pre-seek-sample-lifetime' into gcc-abstraction
2021-04-20 17:27:01 +09:00
smoogipoo
d28eb399a4
Fix storyboard sample lifetimes not set if seeked past
2021-04-20 17:14:48 +09:00
smoogipoo
281c2041b2
Add failing test
2021-04-20 16:51:00 +09:00
ekrctb
c6ee4e900e
Ensure a non-null hitobject entry has a non-null Result
2021-04-20 15:18:36 +09:00
smoogipoo
3d6d26039a
Remove unused usings
2021-04-20 14:09:54 +09:00
smoogipoo
88ded95e75
Ensure clock is set in GCC.Start()
2021-04-20 13:56:13 +09:00
smoogipoo
8dd9134e3d
Move source clock adjustment application to Start()
2021-04-20 13:09:49 +09:00
smoogipoo
a92ae8ce76
Fix Reset() potentially not resetting to the intended start position
2021-04-20 13:01:42 +09:00
ekrctb
8a8b9084ef
Make single-argument overloead of DHO.Apply public
2021-04-20 10:11:36 +09:00
Naxess
496df411a7
Remove now unused import
2021-04-20 02:39:11 +02:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks
2021-04-20 02:36:13 +02:00
Naxess
1478bcfa8e
Improve xmldoc consistency
2021-04-20 02:30:27 +02:00
Naxess
67e4fe4284
Add xmldoc to GetStream
2021-04-20 02:28:38 +02:00
ekrctb
1bc63a4c61
Now, DHO.lifetimeEntry can be non-null even it is not fully applied
2021-04-20 09:22:16 +09:00
Naxess
4510e795e1
Fix category of audio quality check
2021-04-20 02:13:26 +02:00
ekrctb
c1b4aaaa03
Add doc comment
2021-04-20 08:38:02 +09:00
Naxess
c633f15565
Add audio quality check
2021-04-20 01:36:03 +02:00
Naxess
f168247254
Add Track
as a property to IWorkingBeatmap
...
This is implemented by `WorkingBeatmap` already, and is much better to use than loading the track every time we need it.
2021-04-20 01:35:41 +02:00
Naxess
40ae856dfc
Show 2 decimals for background filesize
2021-04-20 01:34:05 +02:00
Naxess
14c626ffcb
Use the playable beatmap for file presence checks
2021-04-20 01:33:19 +02: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