diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index f361496170..80e049ef3f 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -833,6 +833,7 @@ InGameRoomColor=1.0,0.1,0.1,1.0 [ScreenSMOnlineSelectMusic] PrevScreen=ScreenNetRoom Class=ScreenNetSelectMusic +RoomSelectScreen=ScreenNetRoom Fallback=ScreenNetSelectMusic [ScreenNetSelectMusic] @@ -926,7 +927,7 @@ NumGroupsShow=3 StyleIcon= MemoryCardIcons= TimerSeconds= -HelpText=Up: Options, Down: Change Difficulty, Left + Right: Change Sort +HelpText=Up: Options, Down: Change Difficulty, Left + Right: Change Sort, Ctrl+Enter to start PrevScreen=ScreenTitleBranch NextScreen=ScreenStage NoSongsScreen=ScreenTitleBranch diff --git a/stepmania/src/ScreenNetSelectMusic.cpp b/stepmania/src/ScreenNetSelectMusic.cpp index 4a2c3ea168..fe62c6ceda 100644 --- a/stepmania/src/ScreenNetSelectMusic.cpp +++ b/stepmania/src/ScreenNetSelectMusic.cpp @@ -268,6 +268,25 @@ void ScreenNetSelectMusic::HandleScreenMessage( const ScreenMessage SM ) case SM_SongChanged: GAMESTATE->m_pCurSong = m_MusicWheel.GetSelectedSong(); MusicChanged(); + break; + case SM_SMOnlinePack: + if ( NSMAN->m_SMOnlinePacket.Read1() == 1 ) + switch ( NSMAN->m_SMOnlinePacket.Read1() ) + { + case 0: //Room title Change + { + CString titleSub; + titleSub = NSMAN->m_SMOnlinePacket.ReadNT() + "\n"; + titleSub += NSMAN->m_SMOnlinePacket.ReadNT(); + if ( NSMAN->m_SMOnlinePacket.Read1() != 1 ) + { + CString SMOnlineSelectScreen; + THEME->GetMetric( m_sName, "RoomSelectScreen", SMOnlineSelectScreen ); + SCREENMAN->SetNewScreen( SMOnlineSelectScreen ); + } + } + } + break; } //Must be at end, as so it is last resort for SMOnline packets. //If it doens't know what to do, then it'll just remove them.