diff --git a/stepmania/src/NetworkSyncManager.cpp b/stepmania/src/NetworkSyncManager.cpp index 878cc668f8..e1e857d37f 100644 --- a/stepmania/src/NetworkSyncManager.cpp +++ b/stepmania/src/NetworkSyncManager.cpp @@ -484,6 +484,7 @@ void NetworkSyncManager::ProcessInput() m_WaitingChat = m_packet.ReadNT(); SCREENMAN->SendMessageToTopScreen( SM_AddToChat ); } + break; case 8: //Select Song/Play song { m_iSelectMode = m_packet.Read1(); @@ -492,6 +493,7 @@ void NetworkSyncManager::ProcessInput() m_sSubTitle = m_packet.ReadNT(); SCREENMAN->SendMessageToTopScreen( SM_ChangeSong ); } + break; } m_packet.ClearPacket(); } diff --git a/stepmania/src/ScreenNetSelectMusic.cpp b/stepmania/src/ScreenNetSelectMusic.cpp index c6a915d0e2..034e5a595e 100644 --- a/stepmania/src/ScreenNetSelectMusic.cpp +++ b/stepmania/src/ScreenNetSelectMusic.cpp @@ -347,7 +347,7 @@ void ScreenNetSelectMusic::HandleScreenMessage( const ScreenMessage SM ) int i; - for ( i = 0; m_vSongs.size(); i++) + for ( i = 0; i < m_vSongs.size(); i++) if ( ( m_vSongs[i]->GetTranslitArtist() == NSMAN->m_sArtist ) && ( m_vSongs[i]->GetTranslitMainTitle() == NSMAN->m_sMainTitle ) && ( m_vSongs[i]->GetTranslitSubTitle() == NSMAN->m_sSubTitle ) ) @@ -361,6 +361,13 @@ void ScreenNetSelectMusic::HandleScreenMessage( const ScreenMessage SM ) switch (NSMAN->m_iSelectMode) { case 2: //We need to do cmd 1 as well here + if (haveSong) + { + m_iSongNum = i + m_vSongs.size(); + UpdateSongsListPos(); + StartSelectedSong(); + } + break; case 1: //Scroll to song as well if (haveSong) { @@ -375,10 +382,6 @@ void ScreenNetSelectMusic::HandleScreenMessage( const ScreenMessage SM ) NSMAN->m_iSelectMode = 1; NSMAN->SelectUserSong(); } - //Play the song. - if ( ( NSMAN->m_iSelectMode == 2 ) && ( haveSong ) ) - StartSelectedSong(); - } break; }