From f62efc64bfe18bbff14891a579b64fb5c2577923 Mon Sep 17 00:00:00 2001 From: titiger Date: Mon, 22 Dec 2014 03:08:19 +0100 Subject: [PATCH] fix for uneditable closed slots https://forum.megaglest.org/index.php?topic=9620.0 --- source/glest_game/game/game_constants.h | 1 + source/glest_game/global/config.cpp | 1 + source/glest_game/main/main.cpp | 2 +- source/glest_game/menu/menu_state_connected_game.cpp | 9 +++++---- source/glest_game/menu/menu_state_custom_game.cpp | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/source/glest_game/game/game_constants.h b/source/glest_game/game/game_constants.h index eb0bd219..7e4daeed 100644 --- a/source/glest_game/game/game_constants.h +++ b/source/glest_game/game/game_constants.h @@ -144,6 +144,7 @@ public: static const char *folder_path_tutorials; static const char *NETWORK_SLOT_UNCONNECTED_SLOTNAME; + static const char *NETWORK_SLOT_CLOSED_SLOTNAME; static const char *folder_path_screenshots; diff --git a/source/glest_game/global/config.cpp b/source/glest_game/global/config.cpp index 2f75caed..be21d272 100644 --- a/source/glest_game/global/config.cpp +++ b/source/glest_game/global/config.cpp @@ -44,6 +44,7 @@ const char *GameConstants::folder_path_tilesets = "tilesets"; const char *GameConstants::folder_path_tutorials = "tutorials"; const char *GameConstants::NETWORK_SLOT_UNCONNECTED_SLOTNAME = "???"; +const char *GameConstants::NETWORK_SLOT_CLOSED_SLOTNAME = "Closed"; const char *GameConstants::folder_path_screenshots = "screens/"; diff --git a/source/glest_game/main/main.cpp b/source/glest_game/main/main.cpp index 8dc71665..27bb5530 100644 --- a/source/glest_game/main/main.cpp +++ b/source/glest_game/main/main.cpp @@ -5060,7 +5060,7 @@ int glestMain(int argc, char** argv) { gameSettings->setFactionControl(i, ct); gameSettings->setStartLocationIndex(i, i); gameSettings->setResourceMultiplierIndex(i, 10); - gameSettings->setNetworkPlayerName(i, "Closed"); + gameSettings->setNetworkPlayerName(i, GameConstants::NETWORK_SLOT_CLOSED_SLOTNAME); } ControlType ct= ctHuman; diff --git a/source/glest_game/menu/menu_state_connected_game.cpp b/source/glest_game/menu/menu_state_connected_game.cpp index 13fdb2eb..dca77a73 100644 --- a/source/glest_game/menu/menu_state_connected_game.cpp +++ b/source/glest_game/menu/menu_state_connected_game.cpp @@ -2314,7 +2314,7 @@ void MenuStateConnectedGame::loadGameSettings(GameSettings *gameSettings) { gameSettings->setFactionTypeName(slotIndex, factionFiles[listBoxFactions[i].getSelectedItemIndex()]); gameSettings->setNetworkPlayerStatuses(slotIndex, npst_None); - gameSettings->setNetworkPlayerName(slotIndex, "Closed"); + gameSettings->setNetworkPlayerName(slotIndex, GameConstants::NETWORK_SLOT_CLOSED_SLOTNAME); closedCount++; } @@ -2897,15 +2897,16 @@ void MenuStateConnectedGame::update() { hasOpenSlot=true; } if(displayedGamesettings.getFactionControl(i)==ctNetwork && - displayedGamesettings.getNetworkPlayerNameByPlayerIndex(i)!= GameConstants::NETWORK_SLOT_UNCONNECTED_SLOTNAME){ + displayedGamesettings.getNetworkPlayerNameByPlayerIndex(i)!= GameConstants::NETWORK_SLOT_UNCONNECTED_SLOTNAME && + displayedGamesettings.getNetworkPlayerNameByPlayerIndex(i)!= GameConstants::NETWORK_SLOT_CLOSED_SLOTNAME ){ listBoxControls[i].setEditable(false); if(clientInterface->getPlayerIndex()!=(int)i){ hasOtherPlayer=true; } } - else - if(clientInterface->getPlayerIndex()==(int)i) + else if(clientInterface->getPlayerIndex()==(int)i){ listBoxControls[i].setEditable(false); + } else { listBoxControls[i].setEditable(true); } diff --git a/source/glest_game/menu/menu_state_custom_game.cpp b/source/glest_game/menu/menu_state_custom_game.cpp index d165c0b2..a937f89c 100644 --- a/source/glest_game/menu/menu_state_custom_game.cpp +++ b/source/glest_game/menu/menu_state_custom_game.cpp @@ -3730,7 +3730,7 @@ void MenuStateCustomGame::loadGameSettings(GameSettings *gameSettings,bool force if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] i = %d, factionFiles[listBoxFactions[i].getSelectedItemIndex()] [%s]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,i,factionFiles[listBoxFactions[i].getSelectedItemIndex()].c_str()); gameSettings->setFactionTypeName(slotIndex, factionFiles[listBoxFactions[i].getSelectedItemIndex()]); - gameSettings->setNetworkPlayerName(slotIndex, "Closed"); + gameSettings->setNetworkPlayerName(slotIndex, GameConstants::NETWORK_SLOT_CLOSED_SLOTNAME); gameSettings->setNetworkPlayerUUID(slotIndex,""); gameSettings->setNetworkPlayerPlatform(slotIndex,"");