Update: Fix more stuff for smonline.

This commit is contained in:
Charles Lohr
2005-01-07 22:00:08 +00:00
parent ae1a4df374
commit 6b885a56a2
4 changed files with 23 additions and 7 deletions
+5 -2
View File
@@ -67,9 +67,9 @@ NetworkSyncManager::NetworkSyncManager( LoadingWindow *ld )
NetPlayerClient->blocking = false; NetPlayerClient->blocking = false;
m_ServerVersion = 0; m_ServerVersion = 0;
useSMserver = false; useSMserver = false;
isSMOnline = false; isSMOnline = false;
isSMOLoggedIn = false;
m_startupStatus = 0; //By default, connection not tried. m_startupStatus = 0; //By default, connection not tried.
@@ -98,6 +98,7 @@ void NetworkSyncManager::CloseConnection()
return ; return ;
m_ServerVersion = 0; m_ServerVersion = 0;
useSMserver = false; useSMserver = false;
isSMOLoggedIn = false;
m_startupStatus = 0; m_startupStatus = 0;
NetPlayerClient->close(); NetPlayerClient->close();
} }
@@ -125,6 +126,8 @@ void NetworkSyncManager::PostStartUp(const CString& ServerIP)
} }
} }
isSMOLoggedIn = false;
useSMserver = true; useSMserver = true;
m_startupStatus = 1; //Connection attepmpt sucessful m_startupStatus = 1; //Connection attepmpt sucessful
@@ -810,7 +813,7 @@ void PacketFunctions::ClearPacket()
LuaFunction_NoArgs( IsNetConnected, NSMAN->useSMserver ) LuaFunction_NoArgs( IsNetConnected, NSMAN->useSMserver )
LuaFunction_NoArgs( IsNetSMOnline, NSMAN->isSMOnline ) LuaFunction_NoArgs( IsNetSMOnline, NSMAN->isSMOnline )
LuaFunction_NoArgs( IsSMOnlineLoggedIn, NSMAN->isSMOLoggedIn )
/* /*
* (c) 2003-2004 Charles Lohr, Joshua Allen * (c) 2003-2004 Charles Lohr, Joshua Allen
* All rights reserved. * All rights reserved.
+1
View File
@@ -109,6 +109,7 @@ public:
bool useSMserver; bool useSMserver;
bool isSMOnline; bool isSMOnline;
bool isSMOLoggedIn;
vector <int> m_PlayerStatus; vector <int> m_PlayerStatus;
int m_ActivePlayers; int m_ActivePlayers;
+1
View File
@@ -50,6 +50,7 @@ ScreenPackages::ScreenPackages( CString sClassName ) : ScreenWithMenuElements( s
COMMAND( m_sprExistingBG, "Back" ); COMMAND( m_sprExistingBG, "Back" );
COMMAND( m_sprWebBG, "Away" ); COMMAND( m_sprWebBG, "Away" );
// m_fOutputFile.
m_textPackages.LoadFromFont( THEME->GetPathF(m_sName,"default") ); m_textPackages.LoadFromFont( THEME->GetPathF(m_sName,"default") );
m_textPackages.SetShadowLength( 0 ); m_textPackages.SetShadowLength( 0 );
m_textPackages.SetName( "Packages" ); m_textPackages.SetName( "Packages" );
+12 -1
View File
@@ -57,6 +57,7 @@ ScreenSMOnlineLogin::ScreenSMOnlineLogin( const CString& sName ) : ScreenWithMen
SET_XY_AND_ON_COMMAND( m_textLoginMessage ); SET_XY_AND_ON_COMMAND( m_textLoginMessage );
this->AddChild( &m_textLoginMessage ); this->AddChild( &m_textLoginMessage );
NSMAN->isSMOLoggedIn = false;
} }
void ScreenSMOnlineLogin::Input( const DeviceInput& DeviceI, const InputEventType type, void ScreenSMOnlineLogin::Input( const DeviceInput& DeviceI, const InputEventType type,
@@ -152,7 +153,10 @@ void ScreenSMOnlineLogin::HandleScreenMessage( const ScreenMessage SM )
{ {
int Status = NSMAN->m_SMOnlinePacket.Read1(); int Status = NSMAN->m_SMOnlinePacket.Read1();
if ( Status == 0 ) if ( Status == 0 )
{
NSMAN->isSMOLoggedIn = true;
SCREENMAN->SendMessageToTopScreen( SM_GoToNextScreen ); SCREENMAN->SendMessageToTopScreen( SM_GoToNextScreen );
}
else else
{ {
CString Responce = NSMAN->m_SMOnlinePacket.ReadNT(); CString Responce = NSMAN->m_SMOnlinePacket.ReadNT();
@@ -209,7 +213,8 @@ void ScreenSMOnlineLogin::SendLogin()
MD5Init( &BASE ); MD5Init( &BASE );
MD5Update( &BASE, Input, 5);
MD5Update( &BASE, Input, m_sPassword.length());
MD5Final( Output, &BASE ); MD5Final( Output, &BASE );
@@ -220,14 +225,20 @@ void ScreenSMOnlineLogin::SendLogin()
for (int i = 0; i < 32; i++) for (int i = 0; i < 32; i++)
if ( PreHashedName.c_str()[i] == ' ' ) if ( PreHashedName.c_str()[i] == ' ' )
HashedName += '0'; HashedName += '0';
else
if ( PreHashedName.c_str()[i]=='\0' )
HashedName += ' ';
else else
HashedName += PreHashedName.c_str()[i]; HashedName += PreHashedName.c_str()[i];
NSMAN->m_SMOnlinePacket.ClearPacket(); NSMAN->m_SMOnlinePacket.ClearPacket();
NSMAN->m_SMOnlinePacket.Write1((uint8_t)0); //Login command NSMAN->m_SMOnlinePacket.Write1((uint8_t)0); //Login command
NSMAN->m_SMOnlinePacket.Write1((uint8_t)m_iPlayer); //Player
NSMAN->m_SMOnlinePacket.Write1((uint8_t)0); //MD5 hash style NSMAN->m_SMOnlinePacket.Write1((uint8_t)0); //MD5 hash style
NSMAN->m_SMOnlinePacket.WriteNT(m_sUserName); NSMAN->m_SMOnlinePacket.WriteNT(m_sUserName);
NSMAN->m_SMOnlinePacket.WriteNT(HashedName); NSMAN->m_SMOnlinePacket.WriteNT(HashedName);
NSMAN->SendSMOnline( ); NSMAN->SendSMOnline( );
} }