set up GAMESTATE->m_fMusicSeconds earlier
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user