UpdateSongPosition can take an explicit timestamp

This commit is contained in:
Glenn Maynard
2004-01-18 04:43:56 +00:00
parent 62227ce90d
commit 8529f14c35
2 changed files with 8 additions and 5 deletions
+7 -4
View File
@@ -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 &timestamp )
{
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 );
}
+1 -1
View File
@@ -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 &timestamp = RageZeroTimer );
float GetSongPercent( float beat ) const;
enum HealthState { HOT, ALIVE, DANGER, DEAD };