From 7fdeb7ca89897bb602fdd965ad76d0dcd5a03938 Mon Sep 17 00:00:00 2001 From: Titus Tscharntke Date: Wed, 6 Oct 2010 20:54:08 +0000 Subject: [PATCH] Announcements from Matserserver --- .../menu/menu_state_masterserver.cpp | 21 ++++++++++++++++--- .../glest_game/menu/menu_state_masterserver.h | 3 +++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/source/glest_game/menu/menu_state_masterserver.cpp b/source/glest_game/menu/menu_state_masterserver.cpp index db6ddf43d..7b91f8e3b 100644 --- a/source/glest_game/menu/menu_state_masterserver.cpp +++ b/source/glest_game/menu/menu_state_masterserver.cpp @@ -43,7 +43,7 @@ ServerLine::ServerLine( MasterServerInfo *mServerInfo, int lineIndex, const char int lineOffset=25*lineIndex; masterServerInfo=mServerInfo; int i=10; - int startOffset=650; + int startOffset=630; //general info: i+=10; @@ -155,6 +155,7 @@ MenuStateMasterserver::MenuStateMasterserver(Program *program, MainMenu *mainMen autoRefreshTime=0; playServerFoundSound=false; + announcementLoaded=false; mainMessageBox.registerGraphicComponent(containerName,"mainMessageBox"); mainMessageBox.init(lang.get("Ok")); @@ -163,16 +164,22 @@ MenuStateMasterserver::MenuStateMasterserver(Program *program, MainMenu *mainMen lastRefreshTimer= time(NULL); + // announcement + announcementLabel.registerGraphicComponent(containerName,"announcementLabel"); + announcementLabel.init(10, 730); + announcementLabel.setFont(CoreData::getInstance().getMenuFontBig()); + announcementLabel.setText(""); // header labelTitle.registerGraphicComponent(containerName,"labelTitle"); - labelTitle.init(330, 700); + labelTitle.init(330, 670); + labelTitle.setFont(CoreData::getInstance().getMenuFontBig()); labelTitle.setText(lang.get("AvailableServers")); if(Config::getInstance().getString("Masterserver","") == "") { labelTitle.setText("*** " + lang.get("AvailableServers")); } - + // bottom int buttonPos=130; @@ -378,6 +385,7 @@ void MenuStateMasterserver::render(){ renderer.renderButton(&buttonRefresh); renderer.renderButton(&buttonReturn); renderer.renderLabel(&labelTitle); + renderer.renderLabel(&announcementLabel); renderer.renderLabel(&labelAutoRefresh); renderer.renderLabel(&labelChatUrl); renderer.renderButton(&buttonCreateGame); @@ -453,6 +461,13 @@ void MenuStateMasterserver::updateServerInfo() { clearServerLines(); safeMutex.ReleaseLock(true); + if(!announcementLoaded) + { + std::string announcementTxt = SystemFlags::getHTTP(Config::getInstance().getString("AnnouncementURL","http://megaglest.pepper.freeit.org/announcement.txt")); + announcementLabel.setText(announcementTxt); + announcementLoaded=true; + } + if(Config::getInstance().getString("Masterserver","") != "") { std::string serverInfo = SystemFlags::getHTTP(Config::getInstance().getString("Masterserver") + "showServersForGlest.php"); diff --git a/source/glest_game/menu/menu_state_masterserver.h b/source/glest_game/menu/menu_state_masterserver.h index 7271e62e6..12b4cc2d4 100644 --- a/source/glest_game/menu/menu_state_masterserver.h +++ b/source/glest_game/menu/menu_state_masterserver.h @@ -82,10 +82,13 @@ private: ServerLines serverLines; GraphicLabel labelChatUrl; + GraphicLabel announcementLabel; + GraphicMessageBox mainMessageBox; int mainMessageBoxState; + bool announcementLoaded; bool needUpdateFromServer; int autoRefreshTime; time_t lastRefreshTimer;