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;
|
if( !timestamp.IsZero() )
|
||||||
timing.GetBeatAndBPSFromElapsedTime( m_fMusicSeconds, m_fSongBeat, m_fCurBPS, m_bFreeze );
|
m_LastBeatUpdate = timestamp;
|
||||||
|
else
|
||||||
m_LastBeatUpdate.Touch();
|
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 );
|
// 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;
|
static const float MUSIC_SECONDS_INVALID;
|
||||||
|
|
||||||
void ResetMusicStatistics(); // Call this when it's time to play a new song. Clears the values above.
|
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;
|
float GetSongPercent( float beat ) const;
|
||||||
|
|
||||||
enum HealthState { HOT, ALIVE, DANGER, DEAD };
|
enum HealthState { HOT, ALIVE, DANGER, DEAD };
|
||||||
|
|||||||
Reference in New Issue
Block a user