From e8bca9e85c8ddc54d562fe84b95934e279437059 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sat, 27 Oct 2007 09:04:27 +0000 Subject: [PATCH] fix wrong Steps being used for first multiplayer difficulty --- stepmania/src/ScreenGameplay.cpp | 33 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index c6da105c3c..cccb0090db 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -842,30 +842,29 @@ void ScreenGameplay::InitSongQueues() } } - for( int i=0; i<(int)m_apSongsQueue.size(); i++ ) + if( GAMESTATE->m_bMultiplayer ) { - Song *pSong = m_apSongsQueue[i]; - - FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) + for( int i=0; i<(int)m_apSongsQueue.size(); i++ ) { - Steps *pOldSteps = pi->m_vpStepsQueue[i]; + Song *pSong = m_apSongsQueue[i]; - vector vpSteps; - SongUtil::GetSteps( pSong, vpSteps, pOldSteps->m_StepsType ); - StepsUtil::SortNotesArrayByDifficulty( vpSteps ); - vector::iterator iter = find( vpSteps.begin(), vpSteps.end(), pOldSteps ); - int iIndexBase = 0; - if( iter != vpSteps.end() ) + FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) { - iIndexBase = iter - vpSteps.begin(); - CLAMP( iIndexBase, 0, vpSteps.size() - GAMESTATE->m_iNumMultiplayerNoteFields ); - } + Steps *pOldSteps = pi->m_vpStepsQueue[i]; + + vector vpSteps; + SongUtil::GetSteps( pSong, vpSteps, pOldSteps->m_StepsType ); + StepsUtil::SortNotesArrayByDifficulty( vpSteps ); + vector::iterator iter = find( vpSteps.begin(), vpSteps.end(), pOldSteps ); + int iIndexBase = 0; + if( iter != vpSteps.end() ) + { + iIndexBase = iter - vpSteps.begin(); + CLAMP( iIndexBase, 0, vpSteps.size() - GAMESTATE->m_iNumMultiplayerNoteFields ); + } - if( pi->m_iAddToDifficulty > 0 ) - { int iIndexToUse = iIndexBase + pi->m_iAddToDifficulty; CLAMP( iIndexToUse, 0, vpSteps.size()-1 ); - LOG->Trace( "pi->m_iAddToDifficulty %d, iIndexToUse %d", pi->m_iAddToDifficulty, iIndexToUse ); Steps *pSteps = vpSteps[iIndexToUse]; pi->m_vpStepsQueue[i] = pSteps;