void ScreenNetworkOptions::HandleScreenMessage( const ScreenMessage SM ) { if( SM == SM_DoneConnecting ) { if( !ScreenTextEntry::s_bCancelledLast ) { CString sNewName = ScreenTextEntry::s_sLastAnswer; NSMAN->PostStartUp(sNewName); NSMAN->DisplayStartupStatus(); UpdateConnectStatus( ); g_sLastServer.Set( ScreenTextEntry::s_sLastAnswer ); } } else if( SM == SM_ServerNameEnter ) { if( !ScreenTextEntry::s_bCancelledLast ) { if ( NSMAN->LANserver == NULL) NSMAN->LANserver = new StepManiaLanServer; NSMAN->LANserver->servername = ScreenTextEntry::s_sLastAnswer; if (NSMAN->LANserver->ServerStart()) { NSMAN->isLanServer = true; SCREENMAN->SystemMessage( "Server Started." ); } else SCREENMAN->SystemMessage( "Server failed: " + NSMAN->LANserver->lastError + ssprintf(" Code:%d",NSMAN->LANserver->lastErrorCode) ); } } ScreenOptions::HandleScreenMessage( SM ); }
void ScreenNetworkOptions::MenuStart( const InputEventPlus &input ) { switch( GetCurrentRow() ) { case PO_CONNECTION: if ( !NSMAN->useSMserver ) { ScreenTextEntry::TextEntry( SM_DoneConnecting, ENTER_NETWORK_ADDRESS.GetValue()+"\n\n"+CONNECT_TO_YOURSELF.GetValue(), g_sLastServer, 128 ); } else { NSMAN->CloseConnection(); SCREENMAN->SystemMessage( DISCONNECTED ); UpdateConnectStatus( ); } break; case PO_SCOREBOARD: if (m_pRows[PO_SCOREBOARD]->GetOneSharedSelection() == NO_SCOREBOARD_ON) PREFSMAN->m_bEnableScoreboard.Set(true); else PREFSMAN->m_bEnableScoreboard.Set(false); break; case PO_SERVERS: if ( !AllServers.empty() ) { string sNewName = AllServers[m_pRows[GetCurrentRow()]->GetOneSharedSelection()].Address; NSMAN->PostStartUp(sNewName); NSMAN->DisplayStartupStatus(); UpdateConnectStatus( ); } else { //If the server list is empty, keep passing the message on so exit works ScreenOptions::MenuStart( input ); } break; default: ScreenOptions::MenuStart( input ); } }
void ScreenNetworkOptions::HandleScreenMessage( const ScreenMessage SM ) { if( SM == SM_DoneConnecting ) { if( !ScreenTextEntry::s_bCancelledLast ) { RString sNewName = ScreenTextEntry::s_sLastAnswer; NSMAN->PostStartUp(sNewName); NSMAN->DisplayStartupStatus(); UpdateConnectStatus( ); g_sLastServer.Set( ScreenTextEntry::s_sLastAnswer ); } } ScreenOptions::HandleScreenMessage( SM ); }
void ScreenNetworkOptions::MenuStart( PlayerNumber pn, const InputEventType type ) { #if defined( WITHOUT_NETWORKING ) #else switch( GetCurrentRow() ) { case PO_CONNECTION: if ( !NSMAN->useSMserver ) { SCREENMAN->TextEntry( SM_DoneConnecting, "Enter a Network Address\n127.0.0.1 to connect to yourself", g_sLastServer, 128 ); } else { NSMAN->CloseConnection(); SCREENMAN->SystemMessage("Disconnected from server."); UpdateConnectStatus( ); } break; case PO_SERVER: switch (m_Rows[GetCurrentRow()]->GetOneSharedSelection()) { case NO_START_SERVER: if (!NSMAN->isLanServer) { SCREENMAN->TextEntry( SM_ServerNameEnter, "Enter a server name...", "", 0); } break; case NO_STOP_SERVER: if ( NSMAN->LANserver != NULL ) NSMAN->LANserver->ServerStop(); SCREENMAN->SystemMessage( "Server Stopped." ); NSMAN->isLanServer = false; break; } break; default: ScreenOptions::MenuStart( pn, type ); } #endif }