Implement GlobalOffsetSeconds in GameState::UpdateSongPosition,
not TimingData. TimingData is a simple data structure, and shouldn't be affected by hardware tweaks. This is also easier to bypass in cases we don't want GlobalOffsetSeconds. Don't adjust assist tick by GlobalOffsetSeconds.
This commit is contained in:
@@ -582,6 +582,7 @@ const float GameState::MUSIC_SECONDS_INVALID = -5000.0f;
|
||||
void GameState::ResetMusicStatistics()
|
||||
{
|
||||
m_fMusicSeconds = 0; // MUSIC_SECONDS_INVALID;
|
||||
m_fMusicSecondsNoOffset = 0;
|
||||
m_fSongBeat = 0;
|
||||
m_fCurBPS = 10;
|
||||
m_bFreeze = false;
|
||||
@@ -643,6 +644,10 @@ void GameState::ResetStageStatistics()
|
||||
|
||||
void GameState::UpdateSongPosition( float fPositionSeconds, const TimingData &timing, const RageTimer ×tamp )
|
||||
{
|
||||
m_fMusicSecondsNoOffset = fPositionSeconds;
|
||||
|
||||
fPositionSeconds += PREFSMAN->m_fGlobalOffsetSeconds;
|
||||
|
||||
if( !timestamp.IsZero() )
|
||||
m_LastBeatUpdate = timestamp;
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user