diff --git a/stepmania/src/NetworkSyncManager.cpp b/stepmania/src/NetworkSyncManager.cpp index aabe835dac..9fc6ee29b3 100644 --- a/stepmania/src/NetworkSyncManager.cpp +++ b/stepmania/src/NetworkSyncManager.cpp @@ -69,7 +69,8 @@ NetworkSyncManager::NetworkSyncManager( LoadingWindow *ld ) useSMserver = false; isSMOnline = false; - isSMOLoggedIn = false; + FOREACH_PlayerNumber(pn) + isSMOLoggedIn[pn] = false; m_startupStatus = 0; //By default, connection not tried. @@ -98,7 +99,8 @@ void NetworkSyncManager::CloseConnection() return ; m_ServerVersion = 0; useSMserver = false; - isSMOLoggedIn = false; + FOREACH_PlayerNumber(pn) + isSMOLoggedIn[pn] = false; m_startupStatus = 0; NetPlayerClient->close(); } @@ -126,7 +128,8 @@ void NetworkSyncManager::PostStartUp(const CString& ServerIP) } } - isSMOLoggedIn = false; + FOREACH_PlayerNumber(pn) + isSMOLoggedIn[pn] = false; useSMserver = true; @@ -510,7 +513,9 @@ void NetworkSyncManager::ProcessInput() SCREENMAN->SystemMessageNoAnimate("Connection to server dropped."); useSMserver=false; isSMOnline = false; - isSMOLoggedIn = false; + FOREACH_PlayerNumber(pn) + isSMOLoggedIn[pn] = false; + NetPlayerClient->close(); return; } @@ -815,7 +820,8 @@ void PacketFunctions::ClearPacket() LuaFunction_NoArgs( IsNetConnected, NSMAN->useSMserver ) LuaFunction_NoArgs( IsNetSMOnline, NSMAN->isSMOnline ) -LuaFunction_NoArgs( IsSMOnlineLoggedIn, NSMAN->isSMOLoggedIn ) + +LuaFunction_PlayerNumber( IsSMOnlineLoggedIn, NSMAN->isSMOLoggedIn[pn] ) /* * (c) 2003-2004 Charles Lohr, Joshua Allen * All rights reserved. diff --git a/stepmania/src/NetworkSyncManager.h b/stepmania/src/NetworkSyncManager.h index 353bf44bc0..8dc201c7cd 100644 --- a/stepmania/src/NetworkSyncManager.h +++ b/stepmania/src/NetworkSyncManager.h @@ -109,7 +109,7 @@ public: bool useSMserver; bool isSMOnline; - bool isSMOLoggedIn; + bool isSMOLoggedIn[NUM_PLAYERS]; vector m_PlayerStatus; int m_ActivePlayers; diff --git a/stepmania/src/ScreenSMOnlineLogin.cpp b/stepmania/src/ScreenSMOnlineLogin.cpp index 0dcdf7f50e..6809215f10 100644 --- a/stepmania/src/ScreenSMOnlineLogin.cpp +++ b/stepmania/src/ScreenSMOnlineLogin.cpp @@ -60,7 +60,7 @@ ScreenSMOnlineLogin::ScreenSMOnlineLogin( const CString& sName ) : ScreenWithMen SET_XY_AND_ON_COMMAND( m_textLoginMessage ); this->AddChild( &m_textLoginMessage ); - NSMAN->isSMOLoggedIn = false; + NSMAN->isSMOLoggedIn[m_iPlayer] = false; } void ScreenSMOnlineLogin::Input( const DeviceInput& DeviceI, const InputEventType type, @@ -157,7 +157,7 @@ void ScreenSMOnlineLogin::HandleScreenMessage( const ScreenMessage SM ) int Status = NSMAN->m_SMOnlinePacket.Read1(); if ( Status == 0 ) { - NSMAN->isSMOLoggedIn = true; + NSMAN->isSMOLoggedIn[m_iPlayer] = true; SCREENMAN->SendMessageToTopScreen( SM_GoToNextScreen ); } else