Update: Fix more stuff for smonline.
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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" );
|
||||||
|
|||||||
@@ -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( );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user