oops. Do keep the non-offset beat around, and use it for actor effects.

(This should probably be used for more than this; this stuff needs a
cleanup ...)

(test case: pick a song with a stop near the beginning of the sample music,
eg. Fly With Me; no matter what the offset is set to, it should always show
the same pause on beat effects.  This could do so while honoring the offset,
but getting that right in GameSoundManager is very tricky, and it's usually
not important for non-gameplay cosmetics.)
This commit is contained in:
Glenn Maynard
2006-04-09 15:54:53 +00:00
parent 5843cb2f06
commit 46c1b2ac05
3 changed files with 12 additions and 9 deletions
+3 -1
View File
@@ -583,6 +583,7 @@ void GameState::ResetMusicStatistics()
{
m_fMusicSeconds = 0; // MUSIC_SECONDS_INVALID;
m_fSongBeat = 0;
m_fSongBeatNoOffset = 0;
m_fCurBPS = 10;
m_bFreeze = false;
Actor::SetBGMTime( 0, 0 );
@@ -653,7 +654,8 @@ void GameState::UpdateSongPosition( float fPositionSeconds, const TimingData &ti
m_fMusicSeconds = fPositionSeconds;
m_fLightSongBeat = timing.GetBeatFromElapsedTime( fPositionSeconds + g_fLightsAheadSeconds );
Actor::SetBGMTime( fPositionSeconds, m_fSongBeat );
m_fSongBeatNoOffset = timing.GetBeatFromElapsedTimeNoOffset( fPositionSeconds );
Actor::SetBGMTime( fPositionSeconds, m_fSongBeatNoOffset );
// LOG->Trace( "m_fMusicSeconds = %f, m_fSongBeat = %f, m_fCurBPS = %f, m_bFreeze = %f", m_fMusicSeconds, m_fSongBeat, m_fCurBPS, m_bFreeze );
}