UpdateSongPosition can take an explicit timestamp
This commit is contained in:
@@ -395,12 +395,15 @@ void GameState::ResetStageStatistics()
|
||||
}
|
||||
}
|
||||
|
||||
void GameState::UpdateSongPosition( float fPositionSeconds, const TimingData &timing )
|
||||
void GameState::UpdateSongPosition( float fPositionSeconds, const TimingData &timing, const RageTimer ×tamp )
|
||||
{
|
||||
m_fMusicSeconds = fPositionSeconds;
|
||||
timing.GetBeatAndBPSFromElapsedTime( m_fMusicSeconds, m_fSongBeat, m_fCurBPS, m_bFreeze );
|
||||
m_LastBeatUpdate.Touch();
|
||||
if( !timestamp.IsZero() )
|
||||
m_LastBeatUpdate = timestamp;
|
||||
else
|
||||
m_LastBeatUpdate.Touch();
|
||||
timing.GetBeatAndBPSFromElapsedTime( fPositionSeconds, m_fSongBeat, m_fCurBPS, m_bFreeze );
|
||||
|
||||
m_fMusicSeconds = fPositionSeconds;
|
||||
// LOG->Trace( "m_fMusicSeconds = %f, m_fSongBeat = %f, m_fCurBPS = %f, m_bFreeze = %f", m_fMusicSeconds, m_fSongBeat, m_fCurBPS, m_bFreeze );
|
||||
}
|
||||
|
||||
|
||||
@@ -158,7 +158,7 @@ public:
|
||||
static const float MUSIC_SECONDS_INVALID;
|
||||
|
||||
void ResetMusicStatistics(); // Call this when it's time to play a new song. Clears the values above.
|
||||
void UpdateSongPosition( float fPositionSeconds, const TimingData &timing );
|
||||
void UpdateSongPosition( float fPositionSeconds, const TimingData &timing, const RageTimer ×tamp = RageZeroTimer );
|
||||
float GetSongPercent( float beat ) const;
|
||||
|
||||
enum HealthState { HOT, ALIVE, DANGER, DEAD };
|
||||
|
||||
Reference in New Issue
Block a user