diff --git a/source/glest_game/facilities/game_util.cpp b/source/glest_game/facilities/game_util.cpp index c7765564a..1fe373fa2 100644 --- a/source/glest_game/facilities/game_util.cpp +++ b/source/glest_game/facilities/game_util.cpp @@ -118,6 +118,11 @@ string getNetworkVersionString() { return version; } +string getNetworkVersionSVNString() { + string version = glestVersionString + "-" + getCompilerNameString() + "-" + getSVNRevisionString(); + return version; +} + string getCompileDateTime() { return string(__DATE__) + " " + string(__TIME__); } diff --git a/source/glest_game/facilities/game_util.h b/source/glest_game/facilities/game_util.h index 55eb95397..b3d78a644 100644 --- a/source/glest_game/facilities/game_util.h +++ b/source/glest_game/facilities/game_util.h @@ -32,6 +32,7 @@ string getPlatformNameString(); string getSVNRevisionString(); string getCompilerNameString(); string getNetworkVersionString(); +string getNetworkVersionSVNString(); string getNetworkPlatformFreeVersionString(); string getAboutString1(int i); string getAboutString2(int i); diff --git a/source/glest_game/menu/menu_state_custom_game.cpp b/source/glest_game/menu/menu_state_custom_game.cpp index 25bf83278..21f7109e9 100644 --- a/source/glest_game/menu/menu_state_custom_game.cpp +++ b/source/glest_game/menu/menu_state_custom_game.cpp @@ -1970,7 +1970,7 @@ void MenuStateCustomGame::publishToMasterserver() { //?status=waiting&system=linux&info=titus publishToServerInfo["glestVersion"] = glestVersionString; - publishToServerInfo["platform"] = getPlatformNameString(); + publishToServerInfo["platform"] = getPlatformNameString() + "-" + getSVNRevisionString(); publishToServerInfo["binaryCompileDate"] = getCompileDateTime(); //game info: diff --git a/source/glest_game/menu/menu_state_masterserver.cpp b/source/glest_game/menu/menu_state_masterserver.cpp index 89ae8db7a..7621addaa 100644 --- a/source/glest_game/menu/menu_state_masterserver.cpp +++ b/source/glest_game/menu/menu_state_masterserver.cpp @@ -126,16 +126,16 @@ MenuStateMasterserver::MenuStateMasterserver(Program *program, MainMenu *mainMen // Titles for current games - START int lineIndex = 0; int lineOffset=25*lineIndex; - int i=10; + int i=7; int startOffset=serverLinesYBase+23; //general info: - i+=10; + //i+=10; glestVersionLabel.registerGraphicComponent(containerName,"glestVersionLabel"); glestVersionLabel.init(i,startOffset-lineOffset); glestVersionLabel.setText(lang.get("MGVersion")); - i+=80; + i+=70; platformLabel.registerGraphicComponent(containerName,"platformLabel"); platformLabel.init(i,startOffset-lineOffset); platformLabel.setText(lang.get("MGPlatform")); @@ -146,17 +146,17 @@ MenuStateMasterserver::MenuStateMasterserver(Program *program, MainMenu *mainMen // binaryCompileDateLabel.setText(lang.get("MGBuildDateTime")); //game info: - i+=80; + i+=130; serverTitleLabel.registerGraphicComponent(containerName,"serverTitleLabel"); serverTitleLabel.init(i,startOffset-lineOffset); serverTitleLabel.setText(lang.get("MGGameTitle")); - i+=140; + i+=150; countryLabel.registerGraphicComponent(containerName,"countryLabel"); countryLabel.init(i,startOffset-lineOffset); countryLabel.setText(lang.get("MGGameCountry")); - i+=90; + i+=65; // ipAddressLabel.registerGraphicComponent(containerName,"ipAddressLabel"); // ipAddressLabel.init(i,startOffset-lineOffset); @@ -188,7 +188,7 @@ MenuStateMasterserver::MenuStateMasterserver(Program *program, MainMenu *mainMen externalConnectPort.init(i,startOffset-lineOffset); externalConnectPort.setText(lang.get("Port")); - i+=80; + i+=60; statusLabel.registerGraphicComponent(containerName,"statusLabel"); statusLabel.init(i,startOffset-lineOffset); statusLabel.setText(lang.get("MGGameStatus")); diff --git a/source/glest_game/menu/server_line.cpp b/source/glest_game/menu/server_line.cpp index c5a140364..651b881c2 100644 --- a/source/glest_game/menu/server_line.cpp +++ b/source/glest_game/menu/server_line.cpp @@ -37,15 +37,15 @@ ServerLine::ServerLine(MasterServerInfo *mServerInfo, int lineIndex, int baseY, this->lineHeight= lineHeight; int lineOffset= lineHeight * lineIndex; masterServerInfo= *mServerInfo; - int i= 10; + int i= 7; this->baseY= baseY; //general info: - i+= 10; + //i+= 10; glestVersionLabel.init(i, baseY - lineOffset); glestVersionLabel.setText(masterServerInfo.getGlestVersion()); - i+= 80; + i+= 70; platformLabel.init(i, baseY - lineOffset); platformLabel.setText(masterServerInfo.getPlatform()); @@ -56,11 +56,11 @@ ServerLine::ServerLine(MasterServerInfo *mServerInfo, int lineIndex, int baseY, // binaryCompileDateLabel.setText(masterServerInfo.getBinaryCompileDate()); //game info: - i+= 80; + i+= 130; serverTitleLabel.init(i, baseY - lineOffset); serverTitleLabel.setText(masterServerInfo.getServerTitle()); - i+= 140; + i+= 150; country.init(i, baseY - lineOffset); country.setText(masterServerInfo.getCountry()); @@ -89,7 +89,7 @@ ServerLine::ServerLine(MasterServerInfo *mServerInfo, int lineIndex, int baseY, renderer.initTexture(rsGlobal, countryTexture); } - i+= 90; + i+= 65; // ipAddressLabel.init(i,baseY-lineOffset); // ipAddressLabel.setText(masterServerInfo.getIpAddress()); // i+=100; @@ -118,7 +118,7 @@ ServerLine::ServerLine(MasterServerInfo *mServerInfo, int lineIndex, int baseY, externalConnectPort.init(i, baseY - lineOffset); externalConnectPort.setText(intToStr(masterServerInfo.getExternalConnectPort())); - i+= 80; + i+= 60; status.init(i, baseY - lineOffset); status.setText(lang.get("MGGameStatus" + intToStr(masterServerInfo.getStatus()))); diff --git a/source/glest_game/network/client_interface.cpp b/source/glest_game/network/client_interface.cpp index e6e174dc8..d1d7d07bb 100755 --- a/source/glest_game/network/client_interface.cpp +++ b/source/glest_game/network/client_interface.cpp @@ -193,7 +193,7 @@ void ClientInterface::updateLobby() { if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] got NetworkMessageIntro, networkMessageIntro.getGameState() = %d, versionString [%s], sessionKey = %d, playerIndex = %d, serverFTPPort = %d\n",__FILE__,__FUNCTION__,__LINE__,networkMessageIntro.getGameState(),versionString.c_str(),sessionKey,playerIndex,serverFTPPort); //check consistency - bool compatible = checkVersionComptability(networkMessageIntro.getVersionString(), getNetworkVersionString()); + bool compatible = checkVersionComptability(networkMessageIntro.getVersionString(), getNetworkVersionSVNString()); if(compatible == false) { //if(networkMessageIntro.getVersionString() != getNetworkVersionString()) { if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); @@ -205,12 +205,12 @@ void ClientInterface::updateLobby() { if(strncmp(platformFreeVersion.c_str(),networkMessageIntro.getVersionString().c_str(),strlen(platformFreeVersion.c_str())) != 0) { string playerNameStr = getHumanPlayerName(); sErr = "Server and client binary mismatch!\nYou have to use the exactly same binaries!\n\nServer: " + networkMessageIntro.getVersionString() + - "\nClient: " + getNetworkVersionString() + " player [" + playerNameStr + "]"; + "\nClient: " + getNetworkVersionSVNString() + " player [" + playerNameStr + "]"; printf("%s\n",sErr.c_str()); sendTextMessage("Server and client binary mismatch!!",-1, true,""); sendTextMessage(" Server:" + networkMessageIntro.getVersionString(),-1, true,""); - sendTextMessage(" Client: "+ getNetworkVersionString(),-1, true,""); + sendTextMessage(" Client: "+ getNetworkVersionSVNString(),-1, true,""); sendTextMessage(" Client player [" + playerNameStr + "]",-1, true,""); } else { @@ -218,7 +218,7 @@ void ClientInterface::updateLobby() { string playerNameStr = getHumanPlayerName(); sErr = "Warning, Server and client are using the same version but different platforms.\n\nServer: " + networkMessageIntro.getVersionString() + - "\nClient: " + getNetworkVersionString() + " player [" + playerNameStr + "]"; + "\nClient: " + getNetworkVersionSVNString() + " player [" + playerNameStr + "]"; printf("%s\n",sErr.c_str()); } @@ -238,7 +238,7 @@ void ClientInterface::updateLobby() { //send intro message Lang &lang= Lang::getInstance(); - NetworkMessageIntro sendNetworkMessageIntro(sessionKey,getNetworkVersionString(), getHumanPlayerName(), -1, nmgstOk, this->getSocket()->getConnectedIPAddress(),serverFTPPort,lang.getLanguage()); + NetworkMessageIntro sendNetworkMessageIntro(sessionKey,getNetworkVersionSVNString(), getHumanPlayerName(), -1, nmgstOk, this->getSocket()->getConnectedIPAddress(),serverFTPPort,lang.getLanguage()); sendMessage(&sendNetworkMessageIntro); if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); diff --git a/source/glest_game/network/connection_slot.cpp b/source/glest_game/network/connection_slot.cpp index 8cd31c673..e82522e1f 100644 --- a/source/glest_game/network/connection_slot.cpp +++ b/source/glest_game/network/connection_slot.cpp @@ -368,7 +368,7 @@ void ConnectionSlot::update(bool checkForNewClients,int lockedSlotIndex) { if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] !!!!!!!!WARNING - no open slots, disconnecting client\n",__FILE__,__FUNCTION__,__LINE__); if(socket != NULL) { - NetworkMessageIntro networkMessageIntro(sessionKey,getNetworkVersionString(), getHostName(), playerIndex, nmgstNoSlots, 0, ServerSocket::getFTPServerPort(),""); + NetworkMessageIntro networkMessageIntro(sessionKey,getNetworkVersionSVNString(), getHostName(), playerIndex, nmgstNoSlots, 0, ServerSocket::getFTPServerPort(),""); sendMessage(&networkMessageIntro); } @@ -380,7 +380,7 @@ void ConnectionSlot::update(bool checkForNewClients,int lockedSlotIndex) { if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] client will be assigned to the next open slot\n",__FILE__,__FUNCTION__,__LINE__); if(socket != NULL) { - NetworkMessageIntro networkMessageIntro(sessionKey,getNetworkVersionString(), getHostName(), playerIndex, nmgstOk, 0, ServerSocket::getFTPServerPort(),""); + NetworkMessageIntro networkMessageIntro(sessionKey,getNetworkVersionSVNString(), getHostName(), playerIndex, nmgstOk, 0, ServerSocket::getFTPServerPort(),""); sendMessage(&networkMessageIntro); //if(chrono.getMillis() > 1) printf("In [%s::%s Line: %d] action running for msecs: %lld\n",__FILE__,__FUNCTION__,__LINE__,(long long int)chrono.getMillis()); @@ -500,7 +500,7 @@ void ConnectionSlot::update(bool checkForNewClients,int lockedSlotIndex) { } //check consistency - bool compatible = checkVersionComptability(getNetworkVersionString(), networkMessageIntro.getVersionString()); + bool compatible = checkVersionComptability(getNetworkVersionSVNString(), networkMessageIntro.getVersionString()); if(compatible == false) { if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__); @@ -510,12 +510,12 @@ void ConnectionSlot::update(bool checkForNewClients,int lockedSlotIndex) { if(strncmp(platformFreeVersion.c_str(),networkMessageIntro.getVersionString().c_str(),strlen(platformFreeVersion.c_str())) != 0) { string playerNameStr = name; - sErr = "Server and client binary mismatch!\nYou have to use the exactly same binaries!\n\nServer: " + getNetworkVersionString() + + sErr = "Server and client binary mismatch!\nYou have to use the exactly same binaries!\n\nServer: " + getNetworkVersionSVNString() + "\nClient: " + networkMessageIntro.getVersionString() + " player [" + playerNameStr + "]"; printf("%s\n",sErr.c_str()); serverInterface->sendTextMessage("Server and client binary mismatch!!",-1, true,"",lockedSlotIndex); - serverInterface->sendTextMessage(" Server:" + getNetworkVersionString(),-1, true,"",lockedSlotIndex); + serverInterface->sendTextMessage(" Server:" + getNetworkVersionSVNString(),-1, true,"",lockedSlotIndex); serverInterface->sendTextMessage(" Client: "+ networkMessageIntro.getVersionString(),-1, true,"",lockedSlotIndex); serverInterface->sendTextMessage(" Client player [" + playerNameStr + "]",-1, true,"",lockedSlotIndex); } @@ -523,7 +523,7 @@ void ConnectionSlot::update(bool checkForNewClients,int lockedSlotIndex) { versionMatched = true; string playerNameStr = name; - sErr = "Warning, Server and client are using the same version but different platforms.\n\nServer: " + getNetworkVersionString() + + sErr = "Warning, Server and client are using the same version but different platforms.\n\nServer: " + getNetworkVersionSVNString() + "\nClient: " + networkMessageIntro.getVersionString() + " player [" + playerNameStr + "]"; printf("%s\n",sErr.c_str()); if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] %s\n",__FILE__,__FUNCTION__,__LINE__,sErr.c_str());