Dean Herbert
2c6fd1ec6e
Fix `GameplayClockContainer potentially resetting external seeks
2022-08-18 18:54:10 +09:00
Dean Herbert
6003afafc7
Use FramedBeatmapClock
in GameplayClockContainer
2022-08-18 18:54:10 +09:00
Dean Herbert
343efa1d11
Split OffsetCorrectionClock
out of MasterGameplayClockContainer
2022-08-18 18:54:10 +09:00
Dean Herbert
9735728cf6
Reverse conditionals to better define intent in addSourceClockAdjustments
2022-08-18 15:08:09 +09:00
Dean Herbert
1696a905ba
Reduce exposed properties in GameplayClockContainer
2022-08-15 20:22:36 +09:00
Dean Herbert
704568ae3b
Remove remaining usage of GameplayClock
2022-08-15 20:22:36 +09:00
Dean Herbert
27569e2ed5
Remove FrameStableClock
(and redirect usages to FrameStabilityContainer
)
2022-08-15 19:19:19 +09:00
Dean Herbert
cc4cde2c79
Improve IBeatSyncProvider
interface and reduce beatmap track dependence
2022-08-02 17:59:18 +09:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
007582afb9
Remove unused usings resulting from namespace move
2022-05-22 23:55:33 +09:00
Dean Herbert
eabf578282
Use interface to convey beat sync information
2022-05-22 22:44:54 +09:00
Dan Balasescu
2abdbe53e7
Cleanup whitespace
2022-04-14 18:55:12 +09:00
Dean Herbert
fbf0e5a45c
Remove startFromSkipTarget
parameter and update usages that required said behaviour
2022-04-13 14:25:43 +09:00
Dean Herbert
a59c6013c7
Rename latestGameplayStartTime
to skipTargetTime
2022-04-13 14:03:52 +09:00
Dean Herbert
d4286255a0
Expose and set GameplayStartTime
directly, rather than via Reset
parameter
2022-04-13 13:58:44 +09:00
Dean Herbert
cb6e557212
Fix MasterGameplayClockContainer
having incorrect rate-based offsets immediately after LoadComplete
...
I've attempted to explain why this is required using inline comments.
There's also further conversation at
https://github.com/ppy/osu/pull/17302#issuecomment-1091850927 .
2022-04-11 14:11:26 +09:00
Dean Herbert
8ca9cbc866
Set a more correct initial value for pauseFreqAdjust
...
As the `GameplayClock` now starts paused, this value needs to match to
ensure things work correctly.
For a better explanation of how we got here, see discussion at
https://github.com/ppy/osu/pull/17302#discussion_r830017735 .
2022-03-24 14:50:00 +09:00
Dean Herbert
c6be26eb01
Rename start time calculation method and add more commenting to explain purpose better
2022-03-18 01:35:50 +09:00
Dean Herbert
e3ab5de8cd
Tidy up constructor logic overlap with gameplayStartTime
2022-03-18 01:35:50 +09:00
Dean Herbert
a4a0241800
Use a more explicit flow to set and reset GameplayClockContainer
start time
2022-03-17 20:57:30 +09:00
Bartłomiej Dach
edd361d256
Trim unused using directives
2022-03-03 20:21:48 +01:00
Dean Herbert
cecc746f9e
Update existing usages to use SubscribeToPropertyChanged
2022-03-03 17:42:50 +09:00
Dean Herbert
6c09237956
Reorder fields in BeatmapOffsetControl
and MasterGameplayClockContainer
2022-03-01 20:16:55 +09:00
Dean Herbert
bc2a15db96
Handle cases of beatmaps not existing in realm for tests
2022-03-01 20:12:59 +09:00
Dean Herbert
bb8caabb8b
Subscribe to changes in offset
2022-03-01 20:12:59 +09:00
Dean Herbert
047e801da9
Store and retrieve offset from realm
2022-03-01 20:12:59 +09:00
Salman Ahmed
6556a7e3c3
Handle different gameplay rates when seeking on master clock
2022-01-31 01:40:07 +03:00
Dean Herbert
5f27f1c099
Avoid accounting for the pause pitch adjust effect when "fixing" hardware offset adjustments
...
Bit of an unfortunate one. Because we are applying the pitch adjustment
to the lowest level (`Track`), it's hard to filter out in parent clock
calculations.
Tried a few solutions but this feels the best. Note that we can't just
undo the `pauseFreqAdjust` adjustment as it will div-by-zero.
Closes https://github.com/ppy/osu/issues/14773 .
2021-09-17 15:43:38 +09:00
smoogipoo
009aa994d0
Fix potential race incorrectly pausing the source clock
2021-06-04 21:58:51 +09:00
smoogipoo
fb848f7544
Rename to MasterGameplayClock
2021-04-21 16:33:14 +09:00
smoogipoo
ec080fcb32
Move seekOffset back to MasterGameplayClockContainer
2021-04-20 18:25:46 +09:00
smoogipoo
97fb90d9f4
Move clock processing to base.Seek()
2021-04-20 17:35:59 +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
smoogipoo
acbf4580a4
Only set initial source in Reset()
2021-04-19 19:57:00 +09:00
smoogipoo
c7183f92f7
Rename Restart() -> Reset()
2021-04-19 19:57:00 +09:00
smoogipoo
314b1646bd
Add xmldoc to MasterGameplayClockContainer
2021-04-16 20:47:09 +09:00
smoogipoo
3a78c19f96
More refactoring/xmldocs
2021-04-16 20:33:29 +09:00
smoogipoo
6301111fa3
Remove ClockToProcess, always process underlying clock
2021-04-16 20:17:21 +09:00
smoogipoo
f56125bd68
Update clock from base class
2021-04-14 21:15:14 +09:00
smoogipoo
18c69cdaf7
Split out files
2021-04-14 19:50:22 +09:00