Dean Herbert
2e98ab0a48
Expose rewinding state of IGameplayClock
s
...
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 19:08:42 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
d4afc3629c
Merge branch 'master' into kps
2022-09-08 23:00:36 +09:00
Dean Herbert
6729bb3e1a
Change FrameStableClock
to inherit IGameplayClock
2022-09-08 18:24:18 +09:00
Dan Balasescu
b559d4ecdf
Rename GameplayAdjustments -> AdjustmentsFromMods
2022-09-08 17:14:06 +09:00
Dean Herbert
75d0deef72
Apply proposed changes to remove inheritance from MasterGameplayClockContainer
2022-09-07 17:49:05 +09:00
Dean Herbert
bc1212f4e6
Change NonGameplayAdjustments
to GameplayAdjustments
and convert TrueGameplayRate
to extension method
2022-09-06 22:26:46 +09:00
Dean Herbert
44b456e216
Use gameplay clock's TrueGameplayRate
in FrameStabilityContainer
?
2022-09-05 23:38:22 +09:00
Dean Herbert
ec61a94dc9
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-23 17:36:06 +09:00
Dean Herbert
19bba143ee
Fix editor crashing on mobile releases
2022-08-22 15:57:24 +09:00
Dean Herbert
2c6fd1ec6e
Fix `GameplayClockContainer potentially resetting external seeks
2022-08-18 18:54:10 +09:00
Dean Herbert
43442dbf65
Merge branch 'even-less-gameplay-clock' into even-nicer-frame-stability-clock
2022-08-15 20:22:30 +09:00
Dean Herbert
87760bbc06
Fix IsCatchingUp
not being in correct state
2022-08-15 20:17:48 +09:00
Dean Herbert
1fc3d005c0
Seal FrameStabilityContainer
...
No one should ever derive from this class. It is already too complex.
2022-08-15 19:31:02 +09:00
Dean Herbert
fff2b57905
Tidy up and document FrameStabilityContainer
2022-08-15 19:28:12 +09:00
Dean Herbert
9bc2e91de0
Fix incorrect handling of reference clocks when no parent IGameplayClock
is available
2022-08-15 19:19:19 +09:00
Dean Herbert
828b6f2c30
Remove unnecessary setClock
shenanigans
2022-08-15 19:19:19 +09:00
Dean Herbert
27569e2ed5
Remove FrameStableClock
(and redirect usages to FrameStabilityContainer
)
2022-08-15 19:19:19 +09:00
Dean Herbert
c8764cb333
Move all usage of GameplayClock
to IGameplayClock
2022-08-15 18:30:53 +09:00
Dean Herbert
95c1b488a7
Add non-null assertion to FrameStabilityContainer
2022-08-15 18:08:49 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Bartłomiej Dach
56eae703fe
Avoid changing frame stable clock direction if time hasn't changed between frames
2021-10-11 21:39:48 +02: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
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
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
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
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
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
b8beac27ce
Use previous logic for catching-up mode
2020-10-27 17:14:41 +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
e3eaba7b2c
Move ISampleDisabler implementation to Player and FrameStabilityContainer
2020-10-14 19:39:48 +09:00
Dean Herbert
0605bb9b8d
Fix incorrect parent state transfer
2020-10-05 16:20:29 +09:00
Dean Herbert
ae8bf8cdd4
Fix StabilityGameClock not being updated
2020-10-05 14:27:51 +09:00