Commit Graph

24211 Commits

Author SHA1 Message Date
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
34fa51dee9 Merge branch 'master' into gcc-change-source-on-reset 2021-04-24 13:23:02 +02:00
2ae144be8e Update framework 2021-04-24 14:38:00 +09:00
fdb5490e51 Attempt to explain source initialisation better 2021-04-23 21:56:08 +02:00
ae2fd2f2e1 Ensure source is set on reset 2021-04-23 18:46:59 +09:00
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
fbb9cb3f6f Fix broken merge resolution 2021-04-23 11:01:48 +09:00
a9a24bd481 Merge branch 'master' into ruleset-switch-sounds 2021-04-23 10:50:41 +09:00
f593d9e42c Fix playing users not being updated on room join 2021-04-22 23:23:43 +09:00
0ee73b8e53 Add failing test 2021-04-22 23:22:44 +09:00
b4f492ca4c Update framework 2021-04-22 23:06:46 +09:00
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
50f37ef09c Merge pull request #12519 from peppy/editor-hit-animation-toggle
Add editor hit animation toggle
2021-04-22 20:49:21 +09:00
be8fe47f2c Merge branch 'master' into editor-add-nudge-shortcuts 2021-04-22 20:38:34 +09:00
891a6a83d2 Merge branch 'master' into ruleset-switch-sounds 2021-04-22 20:17:21 +09:00
d20a8694e4 Update resources 2021-04-22 19:55:06 +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
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
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
a5364b224f Add simple key based time nudging support to editor 2021-04-22 18:47:04 +09:00
d4d78f7434 Merge branch 'master' into legacy-scores-classic-mod 2021-04-22 18:44:20 +09:00
8a6267580a Fix nullref 2021-04-22 18:44:14 +09:00
1884c18a2c Ignore movement operations which have no offset 2021-04-22 18:12:03 +09:00
daafa41dc1 Merge branch 'master' into fix-initial-spectator-state-callback 2021-04-22 16:22:04 +09:00
68807a90ec Merge pull request #12448 from smoogipoo/gcc-abstraction
Make GameplayClockContainer abstract and add MasterGameplayClockContainer
2021-04-22 16:20:52 +09:00
9a7bf8109f Allow certain mouse input to pass through PlacementBlueprints to the selection logic 2021-04-22 15:44:12 +09:00
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
21f34be19f Add support for per-ruleset sample playback when switching rulesets (via toolbar) 2021-04-22 14:43:36 +09:00
60b702549d Update framework 2021-04-22 14:20:49 +09:00
9d8f0c854d Setup configuration item for editor hit animations 2021-04-21 18:05:40 +09:00
c6c91cd9a5 Refactor WaveformOpacityMenuItem to not receive whole config 2021-04-21 18:05:26 +09:00
deeb9e3765 Update framework 2021-04-21 17:27:00 +09:00
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
31c5fb350f Merge branch 'master' into gcc-abstraction 2021-04-21 16:33:36 +09:00
fb848f7544 Rename to MasterGameplayClock 2021-04-21 16:33:14 +09:00
ab2a8b5c89 Fix initial rotation not being set 2021-04-21 16:12:09 +09:00
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
1a715b2926 Append "classic" mod to legacy scores 2021-04-21 09:16:28 +03:00
e90d791754 Add base "classic" mod 2021-04-21 09:14:19 +03:00
3fbeadf318 Deprecate old overload of Apply 2021-04-21 14:32:37 +09:00
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
44ff08cce4 Revert "Fix wrong InitialLifetimeOffset is used for a non-pooled DHO."
This reverts commit 67fcfd9d
2021-04-21 10:02:50 +09:00
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
e80c3c317a Rename UnmanagedHitObjectEntry -> SyntheticHitObjectEntry
"Unmanaged" was confusing because its lifetime is still managed by the HitObjectContainer.
2021-04-21 09:23:23 +09:00
a2afa38a3f Merge branch 'master' into fix-mod-customisation-input-blocking-padding 2021-04-20 19:41:25 +02:00
26430e3cb5 Merge pull request #12492 from Naxesss/bg-audio-quality-checks
Add background and audio checks
2021-04-21 00:10:32 +09:00
7fc450c620 Fix mod settings blocking input outside its visible area
Closes #12502.
2021-04-20 23:42:56 +09:00
4cc3321d54 Fix potential doubling of events 2021-04-20 21:20:08 +09:00
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
156a518068 Merge branch 'master' into fix-initial-spectator-state-callback 2021-04-20 21:16:05 +09:00