This is ridiculous. I've cleaned up over a thousand lines of this code and I'm tired of it. I'd enumerate our code guidelines again, but the last n times had no effect.

This commit is contained in:
Steve Checkoway
2007-02-17 13:45:11 +00:00
parent 76040c2280
commit 0bc8d2c9bb
3 changed files with 161 additions and 160 deletions
+76 -76
View File
@@ -9,18 +9,18 @@ NetworkSyncManager *NSMAN;
NetworkSyncManager::NetworkSyncManager( LoadingWindow *ld ) { useSMserver=false; isSMOnline = false; } NetworkSyncManager::NetworkSyncManager( LoadingWindow *ld ) { useSMserver=false; isSMOnline = false; }
NetworkSyncManager::~NetworkSyncManager () { } NetworkSyncManager::~NetworkSyncManager () { }
void NetworkSyncManager::CloseConnection() { } void NetworkSyncManager::CloseConnection() { }
void NetworkSyncManager::PostStartUp(const RString& ServerIP ) { } void NetworkSyncManager::PostStartUp( const RString& ServerIP ) { }
bool NetworkSyncManager::Connect(const RString& addy, unsigned short port) { return false; } bool NetworkSyncManager::Connect( const RString& addy, unsigned short port ) { return false; }
RString NetworkSyncManager::GetServerName() { return RString(); } RString NetworkSyncManager::GetServerName() { return RString(); }
void NetworkSyncManager::ReportNSSOnOff(int i) { } void NetworkSyncManager::ReportNSSOnOff( int i ) { }
void NetworkSyncManager::ReportScore(int playerID, int step, int score, int combo, float offset) { } void NetworkSyncManager::ReportScore( int playerID, int step, int score, int combo, float offset ) { }
void NetworkSyncManager::ReportSongOver() { } void NetworkSyncManager::ReportSongOver() { }
void NetworkSyncManager::ReportStyle() {} void NetworkSyncManager::ReportStyle() {}
void NetworkSyncManager::StartRequest(short position) { } void NetworkSyncManager::StartRequest( short position ) { }
void NetworkSyncManager::DisplayStartupStatus() { } void NetworkSyncManager::DisplayStartupStatus() { }
void NetworkSyncManager::Update( float fDeltaTime ) { } void NetworkSyncManager::Update( float fDeltaTime ) { }
bool NetworkSyncManager::ChangedScoreboard(int Column) { return false; } bool NetworkSyncManager::ChangedScoreboard( int Column ) { return false; }
void NetworkSyncManager::SendChat(const RString& message) { } void NetworkSyncManager::SendChat( const RString& message ) { }
void NetworkSyncManager::SelectUserSong() { } void NetworkSyncManager::SelectUserSong() { }
RString NetworkSyncManager::MD5Hex( const RString &sInput ) { return RString(); } RString NetworkSyncManager::MD5Hex( const RString &sInput ) { return RString(); }
int NetworkSyncManager::GetSMOnlineSalt() { return 0; } int NetworkSyncManager::GetSMOnlineSalt() { return 0; }
@@ -66,7 +66,7 @@ NetworkSyncManager::NetworkSyncManager( LoadingWindow *ld )
useSMserver = false; useSMserver = false;
isSMOnline = false; isSMOnline = false;
FOREACH_PlayerNumber(pn) FOREACH_PlayerNumber( pn )
isSMOLoggedIn[pn] = false; isSMOLoggedIn[pn] = false;
m_startupStatus = 0; //By default, connection not tried. m_startupStatus = 0; //By default, connection not tried.
@@ -79,7 +79,7 @@ NetworkSyncManager::NetworkSyncManager( LoadingWindow *ld )
NetworkSyncManager::~NetworkSyncManager () NetworkSyncManager::~NetworkSyncManager ()
{ {
//Close Connection to server nicely. //Close Connection to server nicely.
if (useSMserver) if( useSMserver )
NetPlayerClient->close(); NetPlayerClient->close();
SAFE_DELETE( NetPlayerClient ); SAFE_DELETE( NetPlayerClient );
@@ -92,18 +92,18 @@ NetworkSyncManager::~NetworkSyncManager ()
void NetworkSyncManager::CloseConnection() void NetworkSyncManager::CloseConnection()
{ {
if (!useSMserver) if( !useSMserver )
return ; return;
m_ServerVersion = 0; m_ServerVersion = 0;
useSMserver = false; useSMserver = false;
isSMOnline = false; isSMOnline = false;
FOREACH_PlayerNumber(pn) FOREACH_PlayerNumber( pn )
isSMOLoggedIn[pn] = false; isSMOLoggedIn[pn] = false;
m_startupStatus = 0; m_startupStatus = 0;
NetPlayerClient->close(); NetPlayerClient->close();
} }
void NetworkSyncManager::PostStartUp(const RString& ServerIP) void NetworkSyncManager::PostStartUp( const RString& ServerIP )
{ {
RString sAddress; RString sAddress;
short iPort; short iPort;
@@ -142,7 +142,7 @@ void NetworkSyncManager::PostStartUp(const RString& ServerIP)
} }
} }
FOREACH_PlayerNumber(pn) FOREACH_PlayerNumber( pn )
isSMOLoggedIn[pn] = false; isSMOLoggedIn[pn] = false;
useSMserver = true; useSMserver = true;
@@ -156,9 +156,9 @@ void NetworkSyncManager::PostStartUp(const RString& ServerIP)
m_packet.Write1( NSCHello ); //Hello Packet m_packet.Write1( NSCHello ); //Hello Packet
m_packet.Write1(NETPROTOCOLVERSION); m_packet.Write1( NETPROTOCOLVERSION );
m_packet.WriteNT(RString(PRODUCT_ID_VER)); m_packet.WriteNT( RString(PRODUCT_ID_VER) );
//Block until responce is received //Block until responce is received
//Move mode to blocking in order to give CPU back to the //Move mode to blocking in order to give CPU back to the
@@ -170,16 +170,16 @@ void NetworkSyncManager::PostStartUp(const RString& ServerIP)
//Following packet must get through, so we block for it. //Following packet must get through, so we block for it.
//If we are serving we do not block for this. //If we are serving we do not block for this.
NetPlayerClient->SendPack((char*)m_packet.Data,m_packet.Position); NetPlayerClient->SendPack( (char*)m_packet.Data, m_packet.Position );
m_packet.ClearPacket(); m_packet.ClearPacket();
while (dontExit) while( dontExit )
{ {
m_packet.ClearPacket(); m_packet.ClearPacket();
if (NetPlayerClient->ReadPack((char *)&m_packet, NETMAXBUFFERSIZE)<1) if( NetPlayerClient->ReadPack((char *)&m_packet, NETMAXBUFFERSIZE)<1 )
dontExit=false; // Also allow exit if there is a problem on the socket dontExit=false; // Also allow exit if there is a problem on the socket
if (m_packet.Read1() == (NSServerOffset + NSCHello)) if( m_packet.Read1() == NSServerOffset + NSCHello )
dontExit=false; dontExit=false;
//Only allow passing on handshake. //Only allow passing on handshake.
//Otherwise scoreboard updates and such will confuse us. //Otherwise scoreboard updates and such will confuse us.
@@ -188,12 +188,12 @@ void NetworkSyncManager::PostStartUp(const RString& ServerIP)
NetPlayerClient->blocking = false; NetPlayerClient->blocking = false;
m_ServerVersion = m_packet.Read1(); m_ServerVersion = m_packet.Read1();
if ( m_ServerVersion >= 128 ) if( m_ServerVersion >= 128 )
isSMOnline = true; isSMOnline = true;
m_ServerName = m_packet.ReadNT(); m_ServerName = m_packet.ReadNT();
m_iSalt = m_packet.Read4(); m_iSalt = m_packet.Read4();
LOG->Info("Server Version: %d %s", m_ServerVersion, m_ServerName.c_str()); LOG->Info( "Server Version: %d %s", m_ServerVersion, m_ServerName.c_str() );
} }
@@ -202,8 +202,8 @@ void NetworkSyncManager::StartUp()
RString ServerIP; RString ServerIP;
if( GetCommandlineArgument( "netip", &ServerIP ) ) if( GetCommandlineArgument( "netip", &ServerIP ) )
PostStartUp(ServerIP); PostStartUp( ServerIP );
else if( GetCommandlineArgument( "listen" ) ) else if( GetCommandlineArgument("listen") )
PostStartUp("LISTEN"); PostStartUp("LISTEN");
BroadcastReception = new EzSockets; BroadcastReception = new EzSockets;
@@ -213,12 +213,12 @@ void NetworkSyncManager::StartUp()
} }
bool NetworkSyncManager::Connect(const RString& addy, unsigned short port) bool NetworkSyncManager::Connect( const RString& addy, unsigned short port )
{ {
LOG->Info("Beginning to connect"); LOG->Info( "Beginning to connect" );
NetPlayerClient->create(); // Initialize Socket NetPlayerClient->create(); // Initialize Socket
useSMserver = NetPlayerClient->connect(addy, port); useSMserver = NetPlayerClient->connect( addy, port );
return useSMserver; return useSMserver;
} }
@@ -227,16 +227,16 @@ bool NetworkSyncManager::Connect(const RString& addy, unsigned short port)
//Listen (Wait for connection in-bound) //Listen (Wait for connection in-bound)
//NOTE: Right now, StepMania cannot connect back to StepMania! //NOTE: Right now, StepMania cannot connect back to StepMania!
bool NetworkSyncManager::Listen(unsigned short port) bool NetworkSyncManager::Listen( unsigned short port )
{ {
LOG->Info("Beginning to Listen"); LOG->Info( "Beginning to Listen" );
EzSockets * EZListener = new EzSockets; EzSockets *EZListener = new EzSockets;
EZListener->create(); EZListener->create();
NetPlayerClient->create(); // Initialize Socket NetPlayerClient->create(); // Initialize Socket
EZListener->bind(8765); EZListener->bind( 8765 );
useSMserver = EZListener->listen(); useSMserver = EZListener->listen();
useSMserver = EZListener->accept( *NetPlayerClient ); //Wait for someone to connect useSMserver = EZListener->accept( *NetPlayerClient ); //Wait for someone to connect
@@ -254,7 +254,7 @@ void NetworkSyncManager::ReportNSSOnOff(int i)
m_packet.ClearPacket(); m_packet.ClearPacket();
m_packet.Write1( NSCSMS ); m_packet.Write1( NSCSMS );
m_packet.Write1( (uint8_t) i ); m_packet.Write1( (uint8_t) i );
NetPlayerClient->SendPack((char*)m_packet.Data, m_packet.Position); NetPlayerClient->SendPack( (char*)m_packet.Data, m_packet.Position );
} }
RString NetworkSyncManager::GetServerName() RString NetworkSyncManager::GetServerName()
@@ -264,61 +264,61 @@ RString NetworkSyncManager::GetServerName()
void NetworkSyncManager::ReportScore(int playerID, int step, int score, int combo, float offset) void NetworkSyncManager::ReportScore(int playerID, int step, int score, int combo, float offset)
{ {
if (!useSMserver) //Make sure that we are using the network if( !useSMserver ) //Make sure that we are using the network
return; return;
m_packet.ClearPacket(); m_packet.ClearPacket();
m_packet.Write1( NSCGSU ); m_packet.Write1( NSCGSU );
uint8_t ctr = (uint8_t) (playerID * 16 + step - ( TNS_HitMine - 1 ) ); uint8_t ctr = (uint8_t) (playerID * 16 + step - ( TNS_HitMine - 1 ) );
m_packet.Write1(ctr); m_packet.Write1( ctr );
ctr = uint8_t( STATSMAN->m_CurStageStats.m_player[playerID].GetGrade()*16 ); ctr = uint8_t( STATSMAN->m_CurStageStats.m_player[playerID].GetGrade()*16 );
if ( STATSMAN->m_CurStageStats.m_player[playerID].m_bFailed ) if ( STATSMAN->m_CurStageStats.m_player[playerID].m_bFailed )
ctr = uint8_t( 112 ); //Code for failed (failed constant seems not to work) ctr = uint8_t( 112 ); //Code for failed (failed constant seems not to work)
m_packet.Write1(ctr); m_packet.Write1( ctr );
m_packet.Write4(score); m_packet.Write4( score );
m_packet.Write2((uint16_t) combo); m_packet.Write2( (uint16_t)combo );
m_packet.Write2((uint16_t) m_playerLife[playerID]); m_packet.Write2( (uint16_t)m_playerLife[playerID] );
//Offset Info //Offset Info
//Note: if a 0 is sent, then disregard data. //Note: if a 0 is sent, then disregard data.
// //
//ASSUMED: No step will be more than 16 seconds off center //ASSUMED: No step will be more than 16 seconds off center
//If assumption false: read 16 seconds either direction //If assumption false: read 16 seconds either direction
int iOffset = int((offset+16.384)*2000.0); int iOffset = int( (offset+16.384)*2000.0f );
if (iOffset>65535) if( iOffset>65535 )
iOffset=65535; iOffset=65535;
if (iOffset<1) if( iOffset<1 )
iOffset=1; iOffset=1;
//Report 0 if hold, or miss (don't forget mines should report) //Report 0 if hold, or miss (don't forget mines should report)
if ((step == TNS_Miss) || (step > TNS_W1)) if( step == TNS_Miss || step > TNS_W1 )
iOffset = 0; iOffset = 0;
m_packet.Write2((uint16_t) iOffset); m_packet.Write2( (uint16_t)iOffset );
NetPlayerClient->SendPack((char*)m_packet.Data, m_packet.Position); NetPlayerClient->SendPack( (char*)m_packet.Data, m_packet.Position );
} }
void NetworkSyncManager::ReportSongOver() void NetworkSyncManager::ReportSongOver()
{ {
if (!useSMserver) //Make sure that we are using the network if ( !useSMserver ) //Make sure that we are using the network
return ; return;
m_packet.ClearPacket(); m_packet.ClearPacket();
m_packet.Write1( NSCGON ); m_packet.Write1( NSCGON );
NetPlayerClient->SendPack((char*)&m_packet.Data, m_packet.Position); NetPlayerClient->SendPack( (char*)&m_packet.Data, m_packet.Position );
return; return;
} }
@@ -326,22 +326,22 @@ void NetworkSyncManager::ReportStyle()
{ {
LOG->Trace( "Sending \"Style\" to server" ); LOG->Trace( "Sending \"Style\" to server" );
if (!useSMserver) if( !useSMserver )
return; return;
m_packet.ClearPacket(); m_packet.ClearPacket();
m_packet.Write1( NSCSU ); m_packet.Write1( NSCSU );
m_packet.Write1( (int8_t) GAMESTATE->GetNumPlayersEnabled() ); m_packet.Write1( (int8_t)GAMESTATE->GetNumPlayersEnabled() );
FOREACH_EnabledPlayer( pn ) FOREACH_EnabledPlayer( pn )
{ {
m_packet.Write1((uint8_t) pn ); m_packet.Write1( (uint8_t)pn );
m_packet.WriteNT(GAMESTATE->GetPlayerDisplayName(pn) ); m_packet.WriteNT( GAMESTATE->GetPlayerDisplayName(pn) );
} }
NetPlayerClient->SendPack( (char*)&m_packet.Data, m_packet.Position ); NetPlayerClient->SendPack( (char*)&m_packet.Data, m_packet.Position );
} }
void NetworkSyncManager::StartRequest(short position) void NetworkSyncManager::StartRequest( short position )
{ {
if( !useSMserver ) if( !useSMserver )
return; return;
@@ -349,7 +349,7 @@ void NetworkSyncManager::StartRequest(short position)
if( GAMESTATE->m_bDemonstrationOrJukebox ) if( GAMESTATE->m_bDemonstrationOrJukebox )
return; return;
LOG->Trace("Requesting Start from Server."); LOG->Trace( "Requesting Start from Server." );
m_packet.ClearPacket(); m_packet.ClearPacket();
@@ -359,57 +359,57 @@ void NetworkSyncManager::StartRequest(short position)
Steps * tSteps; Steps * tSteps;
tSteps = GAMESTATE->m_pCurSteps[PLAYER_1]; tSteps = GAMESTATE->m_pCurSteps[PLAYER_1];
if ((tSteps!=NULL) && (GAMESTATE->IsPlayerEnabled(PLAYER_1))) if( tSteps!=NULL && GAMESTATE->IsPlayerEnabled(PLAYER_1) )
ctr = uint8_t(ctr+tSteps->GetMeter()*16); ctr = uint8_t(ctr+tSteps->GetMeter()*16);
tSteps = GAMESTATE->m_pCurSteps[PLAYER_2]; tSteps = GAMESTATE->m_pCurSteps[PLAYER_2];
if ((tSteps!=NULL) && (GAMESTATE->IsPlayerEnabled(PLAYER_2))) if( tSteps!=NULL && GAMESTATE->IsPlayerEnabled(PLAYER_2) )
ctr = uint8_t(ctr+tSteps->GetMeter()); ctr = uint8_t( ctr+tSteps->GetMeter() );
m_packet.Write1(ctr); m_packet.Write1( ctr );
ctr=0; ctr=0;
tSteps = GAMESTATE->m_pCurSteps[PLAYER_1]; tSteps = GAMESTATE->m_pCurSteps[PLAYER_1];
if ((tSteps!=NULL) && (GAMESTATE->IsPlayerEnabled(PLAYER_1))) if( tSteps!=NULL && GAMESTATE->IsPlayerEnabled(PLAYER_1) )
ctr = uint8_t(ctr + (int) tSteps->GetDifficulty()*16); ctr = uint8_t( ctr + (int)tSteps->GetDifficulty()*16 );
tSteps = GAMESTATE->m_pCurSteps[PLAYER_2]; tSteps = GAMESTATE->m_pCurSteps[PLAYER_2];
if ((tSteps!=NULL) && (GAMESTATE->IsPlayerEnabled(PLAYER_2))) if( tSteps!=NULL && GAMESTATE->IsPlayerEnabled(PLAYER_2) )
ctr = uint8_t(ctr + (int) tSteps->GetDifficulty()); ctr = uint8_t( ctr + (int)tSteps->GetDifficulty() );
m_packet.Write1(ctr); m_packet.Write1( ctr );
//Notify server if this is for sync or not. //Notify server if this is for sync or not.
ctr = char(position*16); ctr = char( position*16 );
m_packet.Write1(ctr); m_packet.Write1( ctr );
if (GAMESTATE->m_pCurSong != NULL) if( GAMESTATE->m_pCurSong != NULL )
{ {
m_packet.WriteNT(GAMESTATE->m_pCurSong->m_sMainTitle); m_packet.WriteNT( GAMESTATE->m_pCurSong->m_sMainTitle );
m_packet.WriteNT(GAMESTATE->m_pCurSong->m_sSubTitle); m_packet.WriteNT( GAMESTATE->m_pCurSong->m_sSubTitle );
m_packet.WriteNT(GAMESTATE->m_pCurSong->m_sArtist); m_packet.WriteNT( GAMESTATE->m_pCurSong->m_sArtist );
} }
else else
{ {
m_packet.WriteNT(""); m_packet.WriteNT( "" );
m_packet.WriteNT(""); m_packet.WriteNT( "" );
m_packet.WriteNT(""); m_packet.WriteNT( "" );
} }
if (GAMESTATE->m_pCurCourse != NULL) if( GAMESTATE->m_pCurCourse != NULL )
m_packet.WriteNT(GAMESTATE->m_pCurCourse->GetDisplayFullTitle()); m_packet.WriteNT( GAMESTATE->m_pCurCourse->GetDisplayFullTitle() );
else else
m_packet.WriteNT(RString("")); m_packet.WriteNT( RString() );
//Send Player (and song) Options //Send Player (and song) Options
m_packet.WriteNT( GAMESTATE->m_SongOptions.GetCurrent().GetString() ); m_packet.WriteNT( GAMESTATE->m_SongOptions.GetCurrent().GetString() );
int players=0; int players=0;
FOREACH_PlayerNumber (p) FOREACH_PlayerNumber( p )
{ {
++players; ++players;
m_packet.WriteNT(GAMESTATE->m_pPlayerState[p]->m_PlayerOptions.GetCurrent().GetString()); m_packet.WriteNT( GAMESTATE->m_pPlayerState[p]->m_PlayerOptions.GetCurrent().GetString() );
} }
for (int i=0; i<2-players; ++i) for (int i=0; i<2-players; ++i)
m_packet.WriteNT(""); //Write a NULL if no player m_packet.WriteNT(""); //Write a NULL if no player
+13 -13
View File
@@ -78,10 +78,10 @@ public:
uint32_t Read4(); uint32_t Read4();
RString ReadNT(); RString ReadNT();
void Write1(uint8_t Data); void Write1( uint8_t Data );
void Write2(uint16_t Data); void Write2( uint16_t Data );
void Write4(uint32_t Data); void Write4( uint32_t Data );
void WriteNT(const RString& Data); void WriteNT( const RString& Data );
void ClearPacket(); void ClearPacket();
}; };
@@ -93,19 +93,19 @@ public:
~NetworkSyncManager(); ~NetworkSyncManager();
//If "useSMserver" then send score to server //If "useSMserver" then send score to server
void ReportScore(int playerID, int step, int score, int combo, float offset); void ReportScore( int playerID, int step, int score, int combo, float offset );
void ReportSongOver(); //Report to server that song is over void ReportSongOver(); //Report to server that song is over
void ReportStyle(); //Report to server the style, players, and names void ReportStyle(); //Report to server the style, players, and names
void ReportNSSOnOff(int i); //Report song selection screen on/off void ReportNSSOnOff( int i ); //Report song selection screen on/off
void StartRequest(short position); //Request a start. Block until granted. void StartRequest( short position ); //Request a start. Block until granted.
RString GetServerName(); RString GetServerName();
//SMOnline stuff //SMOnline stuff
void SendSMOnline( ); void SendSMOnline( );
bool Connect(const RString& addy, unsigned short port); // Connect to SM Server bool Connect( const RString& addy, unsigned short port ); // Connect to SM Server
void PostStartUp(const RString& ServerIP); void PostStartUp( const RString& ServerIP );
void CloseConnection(); void CloseConnection();
@@ -113,7 +113,7 @@ public:
int m_playerLife[NUM_PLAYERS]; //Life (used for sending to server) int m_playerLife[NUM_PLAYERS]; //Life (used for sending to server)
void Update(float fDeltaTime); void Update( float fDeltaTime );
bool useSMserver; bool useSMserver;
bool isSMOnline; bool isSMOnline;
@@ -155,7 +155,7 @@ public:
RString MD5Hex( const RString &sInput ); RString MD5Hex( const RString &sInput );
void GetListOfLANServers( vector< NetServerInfo > & AllServers ); void GetListOfLANServers( vector<NetServerInfo>& AllServers );
private: private:
#if !defined(WITHOUT_NETWORKING) #if !defined(WITHOUT_NETWORKING)
@@ -178,11 +178,11 @@ private:
EzSockets *NetPlayerClient; EzSockets *NetPlayerClient;
EzSockets *BroadcastReception; EzSockets *BroadcastReception;
vector< NetServerInfo > m_vAllLANServers; vector<NetServerInfo> m_vAllLANServers;
int m_ServerVersion; //ServerVersion int m_ServerVersion; //ServerVersion
bool Listen(unsigned short port); bool Listen( unsigned short port );
PacketFunctions m_packet; PacketFunctions m_packet;
#endif #endif
+42 -41
View File
@@ -42,7 +42,7 @@ void ScreenNetRoom::Init()
ScreenNetSelectBase::Init(); ScreenNetSelectBase::Init();
m_soundChangeSel.Load( THEME->GetPathS("ScreenNetRoom","change sel")); m_soundChangeSel.Load( THEME->GetPathS("ScreenNetRoom","change sel") );
m_iRoomPlace = 0; m_iRoomPlace = 0;
@@ -72,13 +72,13 @@ void ScreenNetRoom::Init()
this->AddChild( &m_roomInfo ); this->AddChild( &m_roomInfo );
this->SortByDrawOrder(); this->SortByDrawOrder();
NSMAN->ReportNSSOnOff(7); NSMAN->ReportNSSOnOff( 7 );
} }
void ScreenNetRoom::Input( const InputEventPlus &input ) void ScreenNetRoom::Input( const InputEventPlus &input )
{ {
if ((input.MenuI == MENU_BUTTON_LEFT || input.MenuI == MENU_BUTTON_RIGHT) && input.type == IET_RELEASE) if( (input.MenuI == MENU_BUTTON_LEFT || input.MenuI == MENU_BUTTON_RIGHT) && input.type == IET_RELEASE )
m_RoomWheel.Move(0); m_RoomWheel.Move( 0 );
ScreenNetSelectBase::Input( input ); ScreenNetSelectBase::Input( input );
} }
@@ -107,7 +107,7 @@ void ScreenNetRoom::HandleScreenMessage( const ScreenMessage SM )
} }
else if( SM == SM_SMOnlinePack ) else if( SM == SM_SMOnlinePack )
{ {
switch(NSMAN->m_SMOnlinePacket.Read1()) switch( NSMAN->m_SMOnlinePacket.Read1() )
{ {
case 1: case 1:
switch ( NSMAN->m_SMOnlinePacket.Read1() ) switch ( NSMAN->m_SMOnlinePacket.Read1() )
@@ -128,21 +128,21 @@ void ScreenNetRoom::HandleScreenMessage( const ScreenMessage SM )
{ {
int numRooms = NSMAN->m_SMOnlinePacket.Read1(); int numRooms = NSMAN->m_SMOnlinePacket.Read1();
m_Rooms.clear(); m_Rooms.clear();
for (int i=0;i<numRooms;i++) for( int i=0; i<numRooms; ++i )
{ {
RoomData tmpRoomData; RoomData tmpRoomData;
tmpRoomData.SetName(NSMAN->m_SMOnlinePacket.ReadNT()); tmpRoomData.SetName( NSMAN->m_SMOnlinePacket.ReadNT() );
tmpRoomData.SetDescription(NSMAN->m_SMOnlinePacket.ReadNT()); tmpRoomData.SetDescription( NSMAN->m_SMOnlinePacket.ReadNT() );
m_Rooms.push_back( tmpRoomData ); m_Rooms.push_back( tmpRoomData );
} }
//Abide by protocol and read room status //Abide by protocol and read room status
for (int i=0;i<numRooms;i++) for( int i=0; i<numRooms; ++i )
m_Rooms[i].SetState(NSMAN->m_SMOnlinePacket.Read1()); m_Rooms[i].SetState( NSMAN->m_SMOnlinePacket.Read1() );
for (int i=0;i<numRooms;i++) for( int i=0; i<numRooms; ++i )
m_Rooms[i].SetFlags(NSMAN->m_SMOnlinePacket.Read1()); m_Rooms[i].SetFlags( NSMAN->m_SMOnlinePacket.Read1() );
if (m_iRoomPlace<0) if( m_iRoomPlace<0 )
m_iRoomPlace=0; m_iRoomPlace=0;
if( m_iRoomPlace >= (int) m_Rooms.size() ) if( m_iRoomPlace >= (int) m_Rooms.size() )
m_iRoomPlace=m_Rooms.size()-1; m_iRoomPlace=m_Rooms.size()-1;
@@ -157,11 +157,11 @@ void ScreenNetRoom::HandleScreenMessage( const ScreenMessage SM )
info.songArtist = NSMAN->m_SMOnlinePacket.ReadNT(); info.songArtist = NSMAN->m_SMOnlinePacket.ReadNT();
info.numPlayers = NSMAN->m_SMOnlinePacket.Read1(); info.numPlayers = NSMAN->m_SMOnlinePacket.Read1();
info.maxPlayers = NSMAN->m_SMOnlinePacket.Read1(); info.maxPlayers = NSMAN->m_SMOnlinePacket.Read1();
info.players.resize(info.numPlayers); info.players.resize( info.numPlayers );
for (int i = 0; i < info.numPlayers; i++) for( int i = 0; i < info.numPlayers; ++i )
info.players[i] = NSMAN->m_SMOnlinePacket.ReadNT(); info.players[i] = NSMAN->m_SMOnlinePacket.ReadNT();
m_roomInfo.SetRoomInfo(info); m_roomInfo.SetRoomInfo( info );
break; break;
} }
} }
@@ -197,8 +197,8 @@ void ScreenNetRoom::HandleScreenMessage( const ScreenMessage SM )
{ {
int i = m_RoomWheel.GetCurrentIndex() - m_RoomWheel.GetPerminateOffset(); int i = m_RoomWheel.GetCurrentIndex() - m_RoomWheel.GetPerminateOffset();
const RoomWheelData* data = m_RoomWheel.GetItem(i); const RoomWheelData* data = m_RoomWheel.GetItem(i);
if (data != NULL) if( data != NULL )
m_roomInfo.SetRoom(data); m_roomInfo.SetRoom( data );
} }
ScreenNetSelectBase::HandleScreenMessage( SM ); ScreenNetSelectBase::HandleScreenMessage( SM );
@@ -209,14 +209,14 @@ void ScreenNetRoom::TweenOffScreen()
OFF_COMMAND( m_textTitle ); OFF_COMMAND( m_textTitle );
OFF_COMMAND( m_sprTitleBG ); OFF_COMMAND( m_sprTitleBG );
NSMAN->ReportNSSOnOff(6); NSMAN->ReportNSSOnOff( 6 );
} }
void ScreenNetRoom::MenuStart( const InputEventPlus &input ) void ScreenNetRoom::MenuStart( const InputEventPlus &input )
{ {
m_RoomWheel.Select(); m_RoomWheel.Select();
RoomWheelData* rwd = (RoomWheelData*)m_RoomWheel.LastSelected(); RoomWheelData* rwd = dynamic_cast<RoomWheelData*>( m_RoomWheel.LastSelected() );
if (rwd) if( rwd )
{ {
if ( rwd->m_iFlags % 2 ) if ( rwd->m_iFlags % 2 )
{ {
@@ -247,7 +247,7 @@ void ScreenNetRoom::MenuBack( const InputEventPlus &input )
void ScreenNetRoom::MenuLeft( const InputEventPlus &input ) void ScreenNetRoom::MenuLeft( const InputEventPlus &input )
{ {
if( input.type == IET_FIRST_PRESS ) if( input.type == IET_FIRST_PRESS )
m_RoomWheel.Move(-1); m_RoomWheel.Move( -1 );
ScreenNetSelectBase::MenuLeft( input ); ScreenNetSelectBase::MenuLeft( input );
} }
@@ -255,7 +255,7 @@ void ScreenNetRoom::MenuLeft( const InputEventPlus &input )
void ScreenNetRoom::MenuRight( const InputEventPlus &input ) void ScreenNetRoom::MenuRight( const InputEventPlus &input )
{ {
if( input.type == IET_FIRST_PRESS ) if( input.type == IET_FIRST_PRESS )
m_RoomWheel.Move(1); m_RoomWheel.Move( 1 );
ScreenNetSelectBase::MenuRight( input ); ScreenNetSelectBase::MenuRight( input );
} }
@@ -267,33 +267,33 @@ void ScreenNetRoom::UpdateRoomsList()
difference = m_RoomWheel.GetNumItems() - m_Rooms.size(); difference = m_RoomWheel.GetNumItems() - m_Rooms.size();
if (!m_RoomWheel.IsEmpty()) if( !m_RoomWheel.IsEmpty() )
{ {
if (difference > 0) if( difference > 0 )
for( int x = 0; x < difference; x++ ) for( int x = 0; x < difference; ++x )
m_RoomWheel.RemoveItem(m_RoomWheel.GetNumItems() - 1); m_RoomWheel.RemoveItem( m_RoomWheel.GetNumItems() - 1 );
else else
{ {
difference = abs(difference); difference = abs( difference );
for( int x = 0; x < difference; x++ ) for( int x = 0; x < difference; ++x )
m_RoomWheel.AddItem(new RoomWheelData(TYPE_GENERIC, "", "", RageColor(1,1,1,1))); m_RoomWheel.AddItem( new RoomWheelData(TYPE_GENERIC, "", "", RageColor(1,1,1,1)) );
} }
} }
else else
{ {
for (unsigned int x = 0; x < m_Rooms.size(); x++) for ( unsigned int x = 0; x < m_Rooms.size(); ++x)
m_RoomWheel.AddItem(new RoomWheelData(TYPE_GENERIC, "", "", RageColor(1,1,1,1))); m_RoomWheel.AddItem( new RoomWheelData(TYPE_GENERIC, "", "", RageColor(1,1,1,1)) );
} }
for (unsigned int i = 0; i < m_Rooms.size(); ++i) for( unsigned int i = 0; i < m_Rooms.size(); ++i )
{ {
itemData = m_RoomWheel.GetItem(i); itemData = m_RoomWheel.GetItem( i );
itemData->m_sText = m_Rooms[i].Name(); itemData->m_sText = m_Rooms[i].Name();
itemData->m_sDesc = m_Rooms[i].Description(); itemData->m_sDesc = m_Rooms[i].Description();
itemData->m_iFlags = m_Rooms[i].GetFlags(); itemData->m_iFlags = m_Rooms[i].GetFlags();
switch (m_Rooms[i].State()) switch( m_Rooms[i].State() )
{ {
case 0: case 0:
itemData->m_color = THEME->GetMetricC( m_sName, "OpenRoomColor"); itemData->m_color = THEME->GetMetricC( m_sName, "OpenRoomColor");
@@ -313,14 +313,15 @@ void ScreenNetRoom::UpdateRoomsList()
m_RoomWheel.RebuildWheelItems(); m_RoomWheel.RebuildWheelItems();
} }
void ScreenNetRoom::CreateNewRoom( const RString& rName, const RString& rDesc, const RString & rPass ) { void ScreenNetRoom::CreateNewRoom( const RString& rName, const RString& rDesc, const RString& rPass )
{
NSMAN->m_SMOnlinePacket.ClearPacket(); NSMAN->m_SMOnlinePacket.ClearPacket();
NSMAN->m_SMOnlinePacket.Write1((uint8_t)2); //Create room command NSMAN->m_SMOnlinePacket.Write1( (uint8_t)2 ); //Create room command
NSMAN->m_SMOnlinePacket.Write1(1); //Type game room NSMAN->m_SMOnlinePacket.Write1( 1 ); //Type game room
NSMAN->m_SMOnlinePacket.WriteNT(rName); NSMAN->m_SMOnlinePacket.WriteNT( rName );
NSMAN->m_SMOnlinePacket.WriteNT(rDesc); NSMAN->m_SMOnlinePacket.WriteNT( rDesc );
if ( !rPass.empty() ) if ( !rPass.empty() )
NSMAN->m_SMOnlinePacket.WriteNT(rPass); NSMAN->m_SMOnlinePacket.WriteNT( rPass );
NSMAN->SendSMOnline( ); NSMAN->SendSMOnline( );
} }