Dean Herbert
68b7efe4d5
Change order of execution to be chronological
2020-11-04 17:14:23 +09:00
Dean Herbert
831325978a
Always execute UpdateHitStateTransforms (even for idle)
2020-11-04 17:14:23 +09:00
Dean Herbert
3b6cf95f49
Remove parameter from StartTime method and add obsoleted previous version
2020-11-04 16:39:52 +09:00
Dean Herbert
7f30140b7e
Add new method handling hit state specifically
...
Until now UpdateStateTransforms was applying results offsets to
StartTime. This didn't cover the case of a HitObject with duration,
where the call would be made with `StartTime + hitOffset` rather than
`EndTime + hitOffset`.
To resolve this, a new method has been added which should be used to
handle hit-specific state transforms.
2020-11-04 16:13:14 +09:00
Dan Balasescu
04178e9458
Merge branch 'master' into spectator-replay-watcher
2020-11-02 14:54:51 +09:00
Dan Balasescu
1b53e6c782
Merge branch 'master' into sample-lookup-improvements
2020-11-02 13:04:35 +09:00
Bartłomiej Dach
2b0bea535e
Resolve CA1805 inspections
...
"Member is explicitly initialized to its default value"
2020-11-01 18:47:40 +01:00
Bartłomiej Dach
b7696c85ad
Add more xmldocs
2020-11-01 15:23:03 +01:00
Dean Herbert
b4e5311014
Move initial state set inside updateClock
2020-10-30 20:39:25 +09:00
Dean Herbert
1bd461f229
Move clock logic back to inside updateClock method
2020-10-30 20:21:14 +09:00
Dean Herbert
32e68a6a3c
Fix FramedReplayInputHandler incorrectly blocking in streaming mode when time requested is before the first frame
...
Most of this is just tidying up the logic to (hopefully) be better to
follow, again (again (again)).
The actual fix is that we now allow interpolation/playback when the
incoming time is less than the first frame's time, regardless of
receiving status.
2020-10-30 16:09:03 +09:00
Dean Herbert
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
Dean Herbert
326fd03525
Fix loop not exiting after first valid frame
2020-10-30 15:25:53 +09:00
Dean Herbert
8e6c803900
Avoid running full updateClock loop when waiting on frames
2020-10-30 12:39:11 +09:00
Dean Herbert
2ea4aa0a37
Fix incorrect specification on some sample lookups
2020-10-30 11:59:41 +09:00
Dean Herbert
87be7d162b
Merge branch 'master' into spectator-replay-watcher
2020-10-30 00:25:17 +09:00
Dean Herbert
335d150a13
Fix aim time being mutated inside update loop
2020-10-29 18:11:50 +09:00
Dean Herbert
2671d371da
Move clock retrieval to new correct location
2020-10-29 15:28:39 +09:00
Dean Herbert
3ea27e23e8
Update namespace references
2020-10-29 15:20:10 +09:00
Dean Herbert
db2b00068f
Avoid sourcing parent clock when in a paused state
2020-10-29 14:48:56 +09:00
Dean Herbert
d91456dc29
Move initial validity check out of loop for clarity
2020-10-29 14:25:47 +09:00
Dean Herbert
2e5a8b2287
Fix xmldoc to read better in new context
2020-10-29 13:16:31 +09:00
Dan Balasescu
a022b869eb
Merge branch 'master' into frame-stability-clean-up
2020-10-29 13:02:17 +09:00
Bartłomiej Dach
a1696942f0
Merge branch 'master' into right-click-circle-delete
2020-10-28 22:12:14 +01:00
Bartłomiej Dach
202fe09306
Group selection actions back up in SelectionHandler
2020-10-28 22:06:48 +01:00
Dean Herbert
6eddd76bdc
Simplify FramedReplayInputHandler's SetFrame implementation
2020-10-28 16:03:23 +09:00
Dean Herbert
09da75b143
Merge branch 'frame-stability-clean-up' into spectator-replay-watcher
2020-10-28 15:34:46 +09:00
Dean Herbert
2b1e79a4e8
Simplify state changes further
2020-10-28 15:32:20 +09:00
Dean Herbert
c9515653b3
Restore previous directionality logic to avoid logic differences
2020-10-28 15:31:57 +09:00
Dean Herbert
77d807d0f5
Merge branch 'frame-stability-clean-up' into spectator-replay-watcher
2020-10-28 15:26:02 +09:00
Dean Herbert
59e9c2639a
Remove try-finally
2020-10-28 15:16:56 +09:00
Dean Herbert
a06516c900
Extract out frame stability state into enum for (hopefully) better clarity
2020-10-28 15:15:15 +09:00
Dean Herbert
8c9bda2ded
Split out replay update method
2020-10-28 15:14:06 +09:00
Dean Herbert
9b9a41596f
Split out frame stability calculation to own method
2020-10-28 15:14:06 +09:00
Dean Herbert
3e5322541d
Make direction setting more clear
2020-10-28 14:35:42 +09:00
Dean Herbert
b3d793a505
Fix gameplay proceeding when no frames have been received yet
2020-10-27 18:58:37 +09:00
Dean Herbert
851d45d2eb
Add sane pausing logic
2020-10-27 18:58:37 +09:00
Dean Herbert
9e6b0a42ec
Allow FrameStabilityContainer to handle waiting-for-data state better (and pause outwards)
2020-10-27 18:58:37 +09:00
Dean Herbert
400542bc0b
Ensure frames arrive
2020-10-27 18:58:37 +09:00
Dean Herbert
b8beac27ce
Use previous logic for catching-up mode
2020-10-27 17:14:41 +09:00
Dean Herbert
09087faf3b
Fix non-matching filename
2020-10-27 14:23:24 +09:00
Dean Herbert
9cfb81589e
Use bindable flow instead
2020-10-27 14:10:12 +09:00
Dean Herbert
6853da459d
Move sample pausing logic out of FrameStabilityContainer
2020-10-27 13:54:33 +09:00
Dean Herbert
27c1a4c4d3
Move right-click deletion logic to be handled at a SelectionBlueprint level
2020-10-27 12:53:54 +09:00
Dean Herbert
266596d404
Merge branch 'master' into right-click-circle-delete
2020-10-27 12:02:29 +09:00
Bartłomiej Dach
7392876b5f
Fix mania crashing due to spectator client handling frames with unconverted beatmap
2020-10-27 00:35:25 +01:00
Bartłomiej Dach
3f8c4c57d0
Fix code style issues & restructure
2020-10-26 22:16:28 +01:00
Dean Herbert
05697dfe68
Add spectator state object support
2020-10-22 17:48:15 +09:00
Dean Herbert
96049c39c9
Add begin/end session logic
2020-10-22 17:48:15 +09:00
Dean Herbert
175fd512b0
Send frames to streaming client from replay recorder
2020-10-22 17:48:15 +09:00