set up GAMESTATE->m_fMusicSeconds earlier

This commit is contained in:
Glenn Maynard
2004-01-29 05:20:27 +00:00
parent 8b2c58056b
commit 77951ede0e
3 changed files with 6 additions and 5 deletions
+1 -2
View File
@@ -444,8 +444,7 @@ int Background::FindBGSegmentForBeat( float fBeat ) const
/* If the BG segment has changed, move focus to it. Send Update() calls. */
void Background::UpdateCurBGChange( float fCurrentTime )
{
if( fCurrentTime == GameState::MUSIC_SECONDS_INVALID )
return; /* hasn't been updated yet */
ASSERT( fCurrentTime != GameState::MUSIC_SECONDS_INVALID );
if( m_aBGChanges.size() == 0 )
return;
-3
View File
@@ -52,9 +52,6 @@ void Foreground::LoadFromSong( const Song *pSong )
void Foreground::Update( float fDeltaTime )
{
if( GAMESTATE->m_fMusicSeconds == GameState::MUSIC_SECONDS_INVALID )
return; /* hasn't been updated yet */
/* Calls to Update() should *not* be scaled by music rate. Undo it. */
const float fRate = GAMESTATE->m_SongOptions.m_fMusicRate;
+5
View File
@@ -1040,6 +1040,11 @@ float ScreenGameplay::StartPlayingSong(float MinTimeToNotes, float MinTimeToMusi
SOUND->TakeOverSound( m_soundMusic, &GAMESTATE->m_pCurSong->m_Timing );
m_soundMusic = NULL; // SOUND owns it now
/* Make sure GAMESTATE->m_fMusicSeconds is set up. */
GAMESTATE->m_fMusicSeconds = -5000;
SOUND->Update(0);
ASSERT( GAMESTATE->m_fMusicSeconds > -4000 ); /* make sure the "fake timer" code doesn't trigger */
/* Return the amount of time until the first beat. */
return fFirstSecond - fStartSecond;
}