diff --git a/source/glest_game/menu/menu_state_connected_game.cpp b/source/glest_game/menu/menu_state_connected_game.cpp index a596df9e..cdafdd6c 100644 --- a/source/glest_game/menu/menu_state_connected_game.cpp +++ b/source/glest_game/menu/menu_state_connected_game.cpp @@ -71,68 +71,61 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM labelMapInfo.setText("?"); vector teamItems, controlItems, results; - //state - labelStatus.init(230, 700); - labelStatus.setText(""); - - labelInfo.init(30, 700); - labelInfo.setText(""); - - - - //create - buttonDisconnect.init(350, 180, 125); - buttonPlayNow.init(525, 180, 125); - - //map listBox - // put them all in a set, to weed out duplicates (gbm & mgm with same name) - // will also ensure they are alphabetically listed (rather than how the OS provides them) - listBoxMap.init(100, 260, 200); - listBoxMap.setEditable(false); - - - int setupPos=610; + int setupPos=590; int mapHeadPos=330; int mapPos=mapHeadPos-30; int aHeadPos=260; int aPos=aHeadPos-30; - int networkHeadPos=670; + int networkHeadPos=700; int networkPos=networkHeadPos-30; + int xoffset=0; - //listBoxMap.setItems(results); - labelMap.init(100, mapHeadPos); - listBoxMap.init(100, mapPos, 200); + //state + labelStatus.init(410, networkHeadPos+30); + labelStatus.setText(""); + labelInfo.init(30, networkHeadPos+30); + labelInfo.setText(""); + labelInfo.setFont(CoreData::getInstance().getMenuFontBig()); + + //create + buttonDisconnect.init(450, 180, 125); + buttonPlayNow.init(525, 180, 125); + + + xoffset=170; // fog - o - war // @350 ? 300 ? - labelFogOfWar.init(300, aHeadPos, 80); - listBoxFogOfWar.init(300, aPos, 80); + labelFogOfWar.init(xoffset+100, aHeadPos, 80); + labelFogOfWar.setText(lang.get("FogOfWar")); + listBoxFogOfWar.init(xoffset+100, aPos, 80); listBoxFogOfWar.pushBackItem(lang.get("Yes")); listBoxFogOfWar.pushBackItem(lang.get("No")); listBoxFogOfWar.setSelectedItemIndex(0); listBoxFogOfWar.setEditable(false); // Enable Observer Mode - labelEnableObserverMode.init(400, aHeadPos, 80); - listBoxEnableObserverMode.init(400, aPos, 110); + labelEnableObserverMode.init(xoffset+250, aHeadPos, 80); + listBoxEnableObserverMode.init(xoffset+250, aPos, 110); listBoxEnableObserverMode.pushBackItem(lang.get("Yes")); listBoxEnableObserverMode.pushBackItem(lang.get("No")); listBoxEnableObserverMode.setSelectedItemIndex(0); listBoxEnableObserverMode.setEditable(false); labelEnableObserverMode.setText(lang.get("EnableObserverMode")); - labelPathFinderType.init(540, aHeadPos, 80); + labelPathFinderType.init(xoffset+450, aHeadPos, 80); labelPathFinderType.setText(lang.get("PathFinderType")); - listBoxPathFinderType.init(540, aPos, 140); + listBoxPathFinderType.init(xoffset+450, aPos, 150); listBoxPathFinderType.pushBackItem(lang.get("PathFinderTypeRegular")); listBoxPathFinderType.pushBackItem(lang.get("PathFinderTypeRoutePlanner")); listBoxPathFinderType.setSelectedItemIndex(0); listBoxPathFinderType.setEditable(false); // Network Frame Period - labelNetworkFramePeriod.init(370, networkHeadPos, 80); + xoffset=0; + labelNetworkFramePeriod.init(xoffset+170, networkHeadPos, 80); labelNetworkFramePeriod.setText(lang.get("NetworkFramePeriod")); - listBoxNetworkFramePeriod.init(380, networkPos, 80); + listBoxNetworkFramePeriod.init(xoffset+170, networkPos, 80); listBoxNetworkFramePeriod.pushBackItem("10"); listBoxNetworkFramePeriod.pushBackItem("20"); listBoxNetworkFramePeriod.pushBackItem("30"); @@ -141,9 +134,9 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM listBoxNetworkFramePeriod.setEditable(false); // Network Frame Period - labelNetworkPauseGameForLaggedClients.init(530, networkHeadPos, 80); + labelNetworkPauseGameForLaggedClients.init(xoffset+440, networkHeadPos, 80); labelNetworkPauseGameForLaggedClients.setText(lang.get("NetworkPauseGameForLaggedClients")); - listBoxNetworkPauseGameForLaggedClients.init(540, networkPos, 80); + listBoxNetworkPauseGameForLaggedClients.init(xoffset+440, networkPos, 80); listBoxNetworkPauseGameForLaggedClients.pushBackItem(lang.get("No")); listBoxNetworkPauseGameForLaggedClients.pushBackItem(lang.get("Yes")); listBoxNetworkPauseGameForLaggedClients.setSelectedItem(lang.get("No")); @@ -151,52 +144,71 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM // Enable Server Controlled AI - labelEnableServerControlledAI.init(670, networkHeadPos, 80); + labelEnableServerControlledAI.init(xoffset+680, networkHeadPos, 80); labelEnableServerControlledAI.setText(lang.get("EnableServerControlledAI")); - listBoxEnableServerControlledAI.init(680, networkPos, 80); + listBoxEnableServerControlledAI.init(xoffset+680, networkPos, 80); listBoxEnableServerControlledAI.pushBackItem(lang.get("Yes")); listBoxEnableServerControlledAI.pushBackItem(lang.get("No")); listBoxEnableServerControlledAI.setSelectedItemIndex(0); listBoxEnableServerControlledAI.setEditable(false); + xoffset=70; + //map listBox + // put them all in a set, to weed out duplicates (gbm & mgm with same name) + // will also ensure they are alphabetically listed (rather than how the OS provides them) + listBoxMap.init(xoffset+100, mapPos, 200); + listBoxMap.setEditable(false); + labelMap.init(xoffset+100, mapHeadPos); + labelMap.setText(lang.get("Map")); //tileset listBox //listBoxTileset.init(500, 260, 150); - listBoxTileset.init(400, mapPos, 150); + listBoxTileset.init(xoffset+350, mapPos, 150); listBoxTileset.setEditable(false); //listBoxTileset.setItems(results); //labelTileset.init(500, 290); - labelTileset.init(400, mapHeadPos); + labelTileset.init(xoffset+350, mapHeadPos); + labelTileset.setText(lang.get("Tileset")); + //tech Tree listBox //listBoxTechTree.init(700, 260, 150); listBoxTechTree.setEditable(false); //listBoxTechTree.setItems(results); //labelTechTree.init(700, 290); - listBoxTechTree.init(600, mapPos, 150); - labelTechTree.init(600, mapHeadPos); + listBoxTechTree.init(xoffset+550, mapPos, 150); + labelTechTree.init(xoffset+550, mapHeadPos); + labelTechTree.setText(lang.get("TechTree")); + SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__); //list boxes + xoffset=120; + int rowHeight=27; for(int i=0; i"); } - labelControl.init(200, setupPos, GraphicListBox::defW, GraphicListBox::defH, true); - labelFaction.init(400, setupPos, GraphicListBox::defW, GraphicListBox::defH, true); - labelTeam.init(600, setupPos, 60, GraphicListBox::defH, true); + labelControl.init(xoffset+200, setupPos, GraphicListBox::defW, GraphicListBox::defH, true); + labelControl.setText(lang.get("Control")); + + labelFaction.init(xoffset+350, setupPos, GraphicListBox::defW, GraphicListBox::defH, true); + labelFaction.setText(lang.get("Faction")); + + labelTeam.init(xoffset+520, setupPos, 60, GraphicListBox::defH, true); + labelTeam.setText(lang.get("Team")); labelControl.setFont(CoreData::getInstance().getMenuFontBig()); labelFaction.setFont(CoreData::getInstance().getMenuFontBig()); @@ -231,13 +243,6 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM labelNetStatus[i].setText("V"); } SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__); - labelMap.setText(lang.get("Map")); - labelFogOfWar.setText(lang.get("FogOfWar")); - labelTileset.setText(lang.get("Tileset")); - labelTechTree.setText(lang.get("TechTree")); - labelControl.setText(lang.get("Control")); - labelFaction.setText(lang.get("Faction")); - labelTeam.setText(lang.get("Team")); SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__); labelMapInfo.setText(mapInfo.desc); diff --git a/source/glest_game/menu/menu_state_connected_game.h b/source/glest_game/menu/menu_state_connected_game.h index c4beaa2e..e1f35f40 100644 --- a/source/glest_game/menu/menu_state_connected_game.h +++ b/source/glest_game/menu/menu_state_connected_game.h @@ -51,11 +51,20 @@ private: GraphicListBox listBoxEnableServerControlledAI; GraphicLabel labelNetworkPauseGameForLaggedClients; GraphicListBox listBoxNetworkPauseGameForLaggedClients; - GraphicLabel labelPathFinderType; - GraphicListBox listBoxPathFinderType; + GraphicListBox listBoxNetworkFramePeriod; GraphicLabel labelNetworkFramePeriod; + GraphicLabel labelPathFinderType; + GraphicListBox listBoxPathFinderType; + + GraphicLabel labelMapPlayerCount; + GraphicListBox listBoxMapPlayerCount; + + GraphicLabel labelAdvanced; + GraphicListBox listBoxAdvanced; + + GraphicListBox listBoxMap; GraphicListBox listBoxFogOfWar; diff --git a/source/glest_game/menu/menu_state_custom_game.cpp b/source/glest_game/menu/menu_state_custom_game.cpp index bc152624..12cb0f8a 100644 --- a/source/glest_game/menu/menu_state_custom_game.cpp +++ b/source/glest_game/menu/menu_state_custom_game.cpp @@ -107,13 +107,14 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b buttonRestoreLastSettings.init(250+130, 180, 200); buttonPlayNow.init(250+130+205, 180, 125); - int setupPos=610; + int setupPos=590; int mapHeadPos=330; int mapPos=mapHeadPos-30; int aHeadPos=260; int aPos=aHeadPos-30; int networkHeadPos=700; int networkPos=networkHeadPos-30; + int xoffset=10; //map listBox // put them all in a set, to weed out duplicates (gbm & mgm with same name) @@ -149,43 +150,41 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b } labelLocalIP.setText(lang.get("LanIP") + ipText); - labelMap.init(100, mapHeadPos); - listBoxMap.init(100, mapPos, 200); + // Map + xoffset=70; + labelMap.init(xoffset+100, mapHeadPos); + labelMap.setText(lang.get("Map")+":"); + listBoxMap.init(xoffset+100, mapPos, 200); listBoxMap.setItems(results); - labelMapInfo.init(100, mapPos-30, 200, 40); - - // fog - o - war - // @350 ? 300 ? - labelFogOfWar.init(300, aHeadPos, 80); - listBoxFogOfWar.init(300, aPos, 80); - listBoxFogOfWar.pushBackItem(lang.get("Yes")); - listBoxFogOfWar.pushBackItem(lang.get("No")); - listBoxFogOfWar.setSelectedItemIndex(0); - - // Enable Observer Mode - labelEnableObserverMode.init(400, aHeadPos, 80); - listBoxEnableObserverMode.init(400, aPos, 110); - listBoxEnableObserverMode.pushBackItem(lang.get("Yes")); - listBoxEnableObserverMode.pushBackItem(lang.get("No")); - listBoxEnableObserverMode.setSelectedItemIndex(0); - - labelPathFinderType.init(540, aHeadPos, 80); - labelPathFinderType.setText(lang.get("PathFinderType")); - listBoxPathFinderType.init(540, aPos, 140); - listBoxPathFinderType.pushBackItem(lang.get("PathFinderTypeRegular")); - listBoxPathFinderType.pushBackItem(lang.get("PathFinderTypeRoutePlanner")); - listBoxPathFinderType.setSelectedItemIndex(0); - - //tileset listBox + labelMapInfo.init(xoffset+100, mapPos-30, 200, 40); + + // MapFilter + labelMapFilter.init(xoffset+310, mapHeadPos); + labelMapFilter.setText(lang.get("MapFilter")+":"); + listBoxMapFilter.init(xoffset+310, mapPos, 80); + listBoxMapFilter.pushBackItem(lang.get("all")); + listBoxMapFilter.pushBackItem("1"); + listBoxMapFilter.pushBackItem("2"); + listBoxMapFilter.pushBackItem("3"); + listBoxMapFilter.pushBackItem("4"); + listBoxMapFilter.pushBackItem("5"); + listBoxMapFilter.pushBackItem("6"); + listBoxMapFilter.pushBackItem("7"); + listBoxMapFilter.pushBackItem("8"); + listBoxMapFilter.setSelectedItemIndex(4); + + //tileset listBox findDirs(config.getPathListForType(ptTilesets), results); if (results.empty()) { throw runtime_error("No tile-sets were found!"); } tilesetFiles= results; std::for_each(results.begin(), results.end(), FormatString()); - listBoxTileset.init(400, mapPos, 150); + listBoxTileset.init(xoffset+460, mapPos, 150); listBoxTileset.setItems(results); - labelTileset.init(400, mapHeadPos); + labelTileset.init(xoffset+460, mapHeadPos); + labelTileset.setText(lang.get("Tileset")); + //tech Tree listBox findDirs(config.getPathListForType(ptTechs), results); @@ -194,14 +193,52 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b } techTreeFiles= results; std::for_each(results.begin(), results.end(), FormatString()); - listBoxTechTree.init(600, mapPos, 150); + listBoxTechTree.init(xoffset+650, mapPos, 150); listBoxTechTree.setItems(results); - labelTechTree.init(600, mapHeadPos); + labelTechTree.init(xoffset+650, mapHeadPos); + labelTechTree.setText(lang.get("TechTree")); + + + // fog - o - war + // @350 ? 300 ? + + labelFogOfWar.init(xoffset+310, aHeadPos, 80); + labelFogOfWar.setText(lang.get("FogOfWar")); + listBoxFogOfWar.init(xoffset+310, aPos, 80); + listBoxFogOfWar.pushBackItem(lang.get("Yes")); + listBoxFogOfWar.pushBackItem(lang.get("No")); + listBoxFogOfWar.setSelectedItemIndex(0); + + // Enable Observer Mode + labelEnableObserverMode.init(xoffset+460, aHeadPos, 80); + listBoxEnableObserverMode.init(xoffset+460, aPos, 150); + listBoxEnableObserverMode.pushBackItem(lang.get("Yes")); + listBoxEnableObserverMode.pushBackItem(lang.get("No")); + listBoxEnableObserverMode.setSelectedItemIndex(0); + + // Witch Pathfinder + labelPathFinderType.init(xoffset+650, aHeadPos, 80); + labelPathFinderType.setText(lang.get("PathFinderType")); + listBoxPathFinderType.init(xoffset+650, aPos, 150); + listBoxPathFinderType.pushBackItem(lang.get("PathFinderTypeRegular")); + listBoxPathFinderType.pushBackItem(lang.get("PathFinderTypeRoutePlanner")); + listBoxPathFinderType.setSelectedItemIndex(0); - labelPublishServer.init(50, networkHeadPos, 100); + // Advanced Options + labelAdvanced.init(790, 80, 80); + labelAdvanced.setText(lang.get("AdvancedGameOptions")); + listBoxAdvanced.init(810, 80-30, 80); + listBoxAdvanced.pushBackItem(lang.get("Yes")); + listBoxAdvanced.pushBackItem(lang.get("No")); + listBoxAdvanced.setSelectedItemIndex(0); + + // network things + // PublishServer + xoffset=50; + labelPublishServer.init(xoffset+50, networkHeadPos, 100); labelPublishServer.setText(lang.get("PublishServer")); - listBoxPublishServer.init(60, networkPos, 100); + listBoxPublishServer.init(xoffset+60, networkPos, 100); listBoxPublishServer.pushBackItem(lang.get("Yes")); listBoxPublishServer.pushBackItem(lang.get("No")); if(openNetworkSlots) @@ -209,11 +246,11 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b else listBoxPublishServer.setSelectedItemIndex(1); - - labelPublishServerExternalPort.init(220, networkHeadPos, 150); + // Port + labelPublishServerExternalPort.init(xoffset+220, networkHeadPos, 150); labelPublishServerExternalPort.setText(lang.get("PublishServerExternalPort")); - listBoxPublishServerExternalPort.init(230, networkPos, 100); + listBoxPublishServerExternalPort.init(xoffset+230, networkPos, 100); string supportExternalPortList = config.getString("MasterServerExternalPortList",intToStr(GameConstants::serverPort).c_str()); std::vector externalPortList; Tokenize(supportExternalPortList,externalPortList,","); @@ -223,12 +260,13 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b listBoxPublishServerExternalPort.pushBackItem(externalPortList[idx]); } } - listBoxPublishServer.setSelectedItemIndex(0); + + //listBoxPublishServer.setSelectedItemIndex(0); // Network Frame Period - labelNetworkFramePeriod.init(370, networkHeadPos, 80); + labelNetworkFramePeriod.init(xoffset+370, networkHeadPos, 80); labelNetworkFramePeriod.setText(lang.get("NetworkFramePeriod")); - listBoxNetworkFramePeriod.init(380, networkPos, 80); + listBoxNetworkFramePeriod.init(xoffset+380, networkPos, 80); listBoxNetworkFramePeriod.pushBackItem("10"); listBoxNetworkFramePeriod.pushBackItem("20"); listBoxNetworkFramePeriod.pushBackItem("30"); @@ -236,39 +274,42 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b listBoxNetworkFramePeriod.setSelectedItem("20"); // Network Frame Period - labelNetworkPauseGameForLaggedClients.init(530, networkHeadPos, 80); + labelNetworkPauseGameForLaggedClients.init(xoffset+530, networkHeadPos, 80); labelNetworkPauseGameForLaggedClients.setText(lang.get("NetworkPauseGameForLaggedClients")); - listBoxNetworkPauseGameForLaggedClients.init(540, networkPos, 80); + listBoxNetworkPauseGameForLaggedClients.init(xoffset+540, networkPos, 80); listBoxNetworkPauseGameForLaggedClients.pushBackItem(lang.get("No")); listBoxNetworkPauseGameForLaggedClients.pushBackItem(lang.get("Yes")); - listBoxNetworkPauseGameForLaggedClients.setSelectedItem(lang.get("No")); + listBoxNetworkPauseGameForLaggedClients.setSelectedItem(lang.get("Yes")); // Enable Server Controlled AI - labelEnableServerControlledAI.init(670, networkHeadPos, 80); + labelEnableServerControlledAI.init(xoffset+670, networkHeadPos, 80); labelEnableServerControlledAI.setText(lang.get("EnableServerControlledAI")); - listBoxEnableServerControlledAI.init(680, networkPos, 80); + listBoxEnableServerControlledAI.init(xoffset+680, networkPos, 80); listBoxEnableServerControlledAI.pushBackItem(lang.get("Yes")); listBoxEnableServerControlledAI.pushBackItem(lang.get("No")); listBoxEnableServerControlledAI.setSelectedItemIndex(0); - - //list boxes + xoffset=120; + int rowHeight=27; for(int i=0; i