Update -- we forgot we can have multiple people logged on from one connection.
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -109,7 +109,7 @@ public:
|
||||
|
||||
bool useSMserver;
|
||||
bool isSMOnline;
|
||||
bool isSMOLoggedIn;
|
||||
bool isSMOLoggedIn[NUM_PLAYERS];
|
||||
|
||||
vector <int> m_PlayerStatus;
|
||||
int m_ActivePlayers;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user