From 9163d75fcce608f251dbddcceb6242948e6853e0 Mon Sep 17 00:00:00 2001 From: Titus Tscharntke Date: Thu, 13 May 2010 11:19:10 +0000 Subject: [PATCH] masterserver works again --- .../menu/menu_state_custom_game.cpp | 21 +++++++++---------- .../glest_game/menu/menu_state_custom_game.h | 1 + 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/source/glest_game/menu/menu_state_custom_game.cpp b/source/glest_game/menu/menu_state_custom_game.cpp index 42028ca5..c65b59e5 100644 --- a/source/glest_game/menu/menu_state_custom_game.cpp +++ b/source/glest_game/menu/menu_state_custom_game.cpp @@ -54,6 +54,7 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b needToSetChangedGameSettings = false; needToRepublishToMasterserver = false; + needToBroadcastServerSettings = false; lastSetChangedGameSettings = time(NULL); lastMasterserverPublishing = time(NULL); @@ -648,6 +649,11 @@ void MenuStateCustomGame::update() listBoxPublishServer.setSelectedItemIndex(1); listBoxPublishServer.setEditable(false); } + + if(difftime(time(NULL),lastMasterserverPublishing) >= 5 ){ + needToRepublishToMasterserver = true; + lastMasterserverPublishing = time(NULL); + } if(listBoxPublishServer.getEditable() && listBoxPublishServer.getSelectedItemIndex() == 0 && @@ -656,15 +662,10 @@ void MenuStateCustomGame::update() publishToMasterserver(); } - /* if(difftime(time(NULL),lastSetChangedGameSettings) >= 2) { - GameSettings gameSettings; - loadGameSettings(&gameSettings); - serverInterface->setGameSettings(&gameSettings); - serverInterface->broadcastGameSetup(&gameSettings); + needToBroadcastServerSettings=true; } - */ //call the chat manager chatManager.updateNetwork(); @@ -738,12 +739,10 @@ void MenuStateCustomGame::publishToMasterserver() } void MenuStateCustomGame::simpleTask() { - if( needToRepublishToMasterserver == true && - difftime(time(NULL),lastMasterserverPublishing) >= 5 && + if( needToRepublishToMasterserver == true && publishToServerInfo != "") { needToRepublishToMasterserver = false; - lastMasterserverPublishing = time(NULL); string request = Config::getInstance().getString("Masterserver") + "addServerInfo.php?" + publishToServerInfo; publishToServerInfo = ""; @@ -751,9 +750,9 @@ void MenuStateCustomGame::simpleTask() { std::string serverInfo = SystemFlags::getHTTP(request); } - if(difftime(time(NULL),lastSetChangedGameSettings) >= 2) + if(needToBroadcastServerSettings) { - lastSetChangedGameSettings = time(NULL); + needToBroadcastServerSettings=false; GameSettings gameSettings; loadGameSettings(&gameSettings); ServerInterface* serverInterface= NetworkManager::getInstance().getServerInterface(); diff --git a/source/glest_game/menu/menu_state_custom_game.h b/source/glest_game/menu/menu_state_custom_game.h index 3f021c9e..b4ffdfec 100644 --- a/source/glest_game/menu/menu_state_custom_game.h +++ b/source/glest_game/menu/menu_state_custom_game.h @@ -56,6 +56,7 @@ private: time_t lastSetChangedGameSettings; time_t lastMasterserverPublishing; bool needToRepublishToMasterserver; + bool needToBroadcastServerSettings; string publishToServerInfo; SimpleTaskThread *publishToMasterserverThread;