Index: binaries/data/mods/public/gui/credits/texts/programming.json =================================================================== --- binaries/data/mods/public/gui/credits/texts/programming.json +++ binaries/data/mods/public/gui/credits/texts/programming.json @@ -164,6 +164,7 @@ {"name": "André Puel"}, {"nick": "Prodigal Son"}, {"nick": "pyrolink", "name": "Andrew Decker"}, + {"nick": "rob-v"}, {"nick": "quantumstate", "name": "Jonathan Waller"}, {"nick": "QuickShot", "name": "Walter Krawec"}, {"nick": "quonter"}, Index: binaries/data/mods/public/gui/gamesetup/gamesetup.js =================================================================== --- binaries/data/mods/public/gui/gamesetup/gamesetup.js +++ binaries/data/mods/public/gui/gamesetup/gamesetup.js @@ -845,7 +845,7 @@ */ function getMapDisplayName(map) { - if (map == "random") + if (map == "random" || map == "") return map; let mapData = loadMapData(map); @@ -943,7 +943,8 @@ if (this.list_data[this.selected]) selectMap(this.list_data[this.selected]); }; - mapSelectionBox.selected = Math.max(0, mapListFiles.indexOf(g_GameAttributes.map || "")); + mapSelectionBox.hidden = mapList.length == 0; + mapSelectionBox.selected = mapList.length > 0 ? Math.max(0, mapListFiles.indexOf(g_GameAttributes.map || "")) : -1; } function loadMapData(name) @@ -1229,6 +1230,8 @@ if (g_IsInGuiUpdate || !g_IsController) return; + g_MapData = {}; + g_GameAttributes.map = ""; g_GameAttributes.mapFilter = id; initMapNameList(); @@ -1428,7 +1431,7 @@ // Can be visible to both host and clients Engine.GetGUIObjectByName("mapSizeText").caption = g_GameAttributes.mapType == "random" ? g_MapSizes.Name[mapSizeIdx] : translateWithContext("map size", "Default"); - Engine.GetGUIObjectByName("numPlayersText").caption = numPlayers; + Engine.GetGUIObjectByName("numPlayersText").caption = g_GameAttributes.map == "" ? "" : numPlayers; Engine.GetGUIObjectByName("victoryConditionText").caption = g_VictoryConditions.Title[victoryIdx]; Engine.GetGUIObjectByName("victoryDurationText").caption = g_VictoryDurations.Title[victoryDurationIdx]; Engine.GetGUIObjectByName("populationCapText").caption = g_PopulationCapacities.Title[popIdx]; @@ -1457,9 +1460,9 @@ // Mapsize completely hidden for non-random maps let isRandom = g_GameAttributes.mapType == "random"; - Engine.GetGUIObjectByName("mapSizeDesc").hidden = !isRandom; - Engine.GetGUIObjectByName("mapSize").hidden = !isRandom || !g_IsController; - Engine.GetGUIObjectByName("mapSizeText").hidden = !isRandom || g_IsController; + Engine.GetGUIObjectByName("mapSizeDesc").hidden = !isRandom || g_GameAttributes.map == ""; + Engine.GetGUIObjectByName("mapSize").hidden = !isRandom || !g_IsController || g_GameAttributes.map == ""; + Engine.GetGUIObjectByName("mapSizeText").hidden = !isRandom || g_IsController || g_GameAttributes.map == ""; hideControl("numPlayers", "numPlayersText", isRandom && g_IsController); let notScenario = g_GameAttributes.mapType != "scenario" && g_IsController ; @@ -1520,7 +1523,10 @@ } updateGameDescription(); - resizeMoreOptionsWindow(); + var showMoreOptions = Engine.GetGUIObjectByName("showMoreOptions"); + showMoreOptions.enabled = g_GameAttributes.map != ""; + if (g_GameAttributes.map != "") + resizeMoreOptionsWindow(); g_IsInGuiUpdate = false; @@ -1544,7 +1550,7 @@ Engine.GetGUIObjectByName("mapInfoName").caption = translateMapTitle(getMapDisplayName(g_GameAttributes.map)); - Engine.GetGUIObjectByName("mapInfoDescription").caption = getGameDescription(); + Engine.GetGUIObjectByName("mapInfoDescription").caption = g_GameAttributes.map == "" ? "" : getGameDescription(); } /**