bool App::InitServer() { m_server = new Server(); bool result = m_server->Initialise(); // // Inform the user of the problem, and shut it down if( !result ) { delete m_server; m_server = NULL; char msgtext[1024]; #if defined(RETAIL_BRANDING_UK) sprintf( msgtext, "%s%s", LANGUAGEPHRASE("dialog_server_failedconnect"), LANGUAGEPHRASE("website_support_retail_uk") ); #elif defined(RETAIL_BRANDING) sprintf( msgtext, "%s%s", LANGUAGEPHRASE("dialog_server_failedconnect"), LANGUAGEPHRASE("website_support_retail") ); #elif defined(RETAIL_BRANDING_MULTI_LANGUAGE) sprintf( msgtext, "%s%s", LANGUAGEPHRASE("dialog_server_failedconnect"), LANGUAGEPHRASE("website_support_retail_multi_language") ); #elif defined(TARGET_OS_MACOSX) sprintf( msgtext, "%s%s", LANGUAGEPHRASE("dialog_server_failedconnect"), LANGUAGEPHRASE("website_support_macosx") ); #else sprintf( msgtext, "%s%s", LANGUAGEPHRASE("dialog_server_failedconnect"), LANGUAGEPHRASE("website_support") ); #endif MessageDialog *msg = new MessageDialog( "FAILED TO START SERVER", msgtext, false, "dialog_server_failedtitle", true ); EclRegisterWindow( msg ); return false; } // // Everything Ok int len = min<int>( (int) m_game->m_options[0]->m_max, sizeof( m_game->m_options[0]->m_currentString ) ); strncpy( m_game->m_options[0]->m_currentString, g_preferences->GetString( "ServerName1", "" ), len ); m_game->m_options[0]->m_currentString[ len - 1 ] = '\x0'; SafetyString( m_game->m_options[0]->m_currentString ); ReplaceExtendedCharacters( m_game->m_options[0]->m_currentString ); if( strlen( m_game->m_options[0]->m_currentString ) == 0 || strcmp( m_game->m_options[0]->m_currentString, g_languageTable->LookupBasePhrase( "gameoption_New_Game_Server" ) ) == 0 ) { if( g_languageTable->DoesTranslationExist( "gameoption_New_Game_Server" ) || g_languageTable->DoesPhraseExist( "gameoption_New_Game_Server" ) ) { strncpy( m_game->m_options[0]->m_currentString, LANGUAGEPHRASE("gameoption_New_Game_Server"), len ); m_game->m_options[0]->m_currentString[ len - 1 ] = '\x0'; SafetyString( m_game->m_options[0]->m_currentString ); ReplaceExtendedCharacters( m_game->m_options[0]->m_currentString ); } } return true; }
void GameHistory::Load() { TextFileReader reader( "game-history.txt" ); if( reader.IsOpen() ) { reader.SetSeperatorChars( "\n\r," ); while( reader.ReadLine() ) { char *identity = NULL; char *name = NULL; if( reader.TokenAvailable() ) { identity = reader.GetNextToken(); if( reader.TokenAvailable() ) { name = reader.GetNextToken(); } } if( identity && name ) { GameHistoryServer *server = new GameHistoryServer(); strncpy( server->m_identity, identity, sizeof(server->m_identity) ); server->m_identity[ sizeof(server->m_identity) - 1 ] = '\x0'; SafetyString( server->m_identity ); strncpy( server->m_name, name, sizeof(server->m_name) ); server->m_name[ sizeof(server->m_name) - 1 ] = '\x0'; SafetyString( server->m_name ); m_servers.PutData( server ); } } } }