Commit Graph

54 Commits

Author SHA1 Message Date
b4e5311014 Move initial state set inside updateClock 2020-10-30 20:39:25 +09:00
1bd461f229 Move clock logic back to inside updateClock method 2020-10-30 20:21:14 +09:00
0f997386ae Fix direction and IsRunning not updating on first frame after becoming valid
The parent clock will not unpause until WaitingForFrames becomes false,
so I've moved the set of that before we start to propagate its values
across. Doesn't fix any visible issue but should make propagation one
game loop faster.
2020-10-30 15:26:23 +09:00
326fd03525 Fix loop not exiting after first valid frame 2020-10-30 15:25:53 +09:00
8e6c803900 Avoid running full updateClock loop when waiting on frames 2020-10-30 12:39:11 +09:00
87be7d162b Merge branch 'master' into spectator-replay-watcher 2020-10-30 00:25:17 +09:00
335d150a13 Fix aim time being mutated inside update loop 2020-10-29 18:11:50 +09:00
2671d371da Move clock retrieval to new correct location 2020-10-29 15:28:39 +09:00
db2b00068f Avoid sourcing parent clock when in a paused state 2020-10-29 14:48:56 +09:00
d91456dc29 Move initial validity check out of loop for clarity 2020-10-29 14:25:47 +09:00
2e5a8b2287 Fix xmldoc to read better in new context 2020-10-29 13:16:31 +09:00
09da75b143 Merge branch 'frame-stability-clean-up' into spectator-replay-watcher 2020-10-28 15:34:46 +09:00
2b1e79a4e8 Simplify state changes further 2020-10-28 15:32:20 +09:00
c9515653b3 Restore previous directionality logic to avoid logic differences 2020-10-28 15:31:57 +09:00
77d807d0f5 Merge branch 'frame-stability-clean-up' into spectator-replay-watcher 2020-10-28 15:26:02 +09:00
59e9c2639a Remove try-finally 2020-10-28 15:16:56 +09:00
a06516c900 Extract out frame stability state into enum for (hopefully) better clarity 2020-10-28 15:15:15 +09:00
8c9bda2ded Split out replay update method 2020-10-28 15:14:06 +09:00
9b9a41596f Split out frame stability calculation to own method 2020-10-28 15:14:06 +09:00
851d45d2eb Add sane pausing logic 2020-10-27 18:58:37 +09:00
9e6b0a42ec Allow FrameStabilityContainer to handle waiting-for-data state better (and pause outwards) 2020-10-27 18:58:37 +09:00
b8beac27ce Use previous logic for catching-up mode 2020-10-27 17:14:41 +09:00
9cfb81589e Use bindable flow instead 2020-10-27 14:10:12 +09:00
6853da459d Move sample pausing logic out of FrameStabilityContainer 2020-10-27 13:54:33 +09:00
e3eaba7b2c Move ISampleDisabler implementation to Player and FrameStabilityContainer 2020-10-14 19:39:48 +09:00
0605bb9b8d Fix incorrect parent state transfer 2020-10-05 16:20:29 +09:00
ae8bf8cdd4 Fix StabilityGameClock not being updated 2020-10-05 14:27:51 +09:00
e4710f82ec Fix sample disabled status not being updated correctly from seek state 2020-10-05 14:27:51 +09:00
af7d10afe0 Fix FrameStabilityContainer not re-caching its GameplayClock correctly 2020-10-05 14:27:51 +09:00
fd58a24183 Merge branch 'master' into fix-spinner-rpm-user-rate-adjust 2020-09-28 17:45:48 +09:00
e8220cf1b6 Allow attaching a replay to a FrameStabilityContainer when FrameStablePlayback is off 2020-09-28 15:47:11 +09:00
892d440ed0 Add fallback path for potential null ParentGameplayClock 2020-09-25 13:19:07 +09:00
3f788da06d Fix SPM changing incorrectly with playback rate changes 2020-09-21 19:39:54 +09:00
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
ce223a2bd8 Silence hit sounds while seeking 2020-05-21 11:08:06 +09:00
2b1245f63a Improve xmldoc in a couple of places 2020-03-26 12:50:00 +09:00
aeb62825cd Move out requireMoreUpdateLoops for better consistency 2019-10-04 13:42:06 +08:00
ddef7fa3ba Repair behavioural change 2019-10-04 13:32:47 +08:00
b28689c774 Fix key counters appearing negative on intense beatmaps
When `FrameStabilityContainer` decides it needs multiple updates on the same frame, it ends up with an elapsed time of zero. This was interacting badly with the condition used in `RulesetInputManager` to govern playback direction.

I have changed this to use `Rate` as exposed by the frame stable clock.

- Closes #6198.
2019-10-03 15:01:54 +08:00
152df9f3d5 Remove accidental blank line 2019-08-16 20:23:09 +09:00
d11b896148 Move FrameStablePlayback handling to early return 2019-08-16 20:21:00 +09:00
58d2268b9e Combine conditionals that provide the same behaviour 2019-08-16 19:52:35 +09:00
8c67f58e2d Disable frame-stable playback in the editor 2019-08-15 18:25:31 +09:00
3fe61c4a7e Trim whitespace 2019-05-10 18:48:39 +09:00
a44296a6db Merge branch 'master' into progress-bar-show-seek 2019-05-10 17:27:49 +09:00
9248e6290c Use FrameStabilityClock to denote current position on song progress 2019-05-09 18:09:26 +09:00
3bcfc86b9c Allow custom MaxCatchUpFrames to be specified
Also adjusts the default to allow for smoother seeking.
2019-05-09 16:39:03 +09:00
66594b7a1b Pass GameplayStartTime to FrameStabilityContainer to allow bypassing prior to start 2019-05-09 16:39:03 +09:00
60328cf1fb Ensure FrameStabilityContainer's ElapsedTime is zero on initial seek 2019-04-24 15:25:53 +09:00
80e1568e97 Fix FrameStabilityContainer performing frame-stable seeks 2019-04-24 15:25:52 +09:00