From fde66f51345cdbe944708d24c010d8d3d893fe81 Mon Sep 17 00:00:00 2001 From: wraitii Date: Wed, 14 Apr 2021 07:30:26 +0000 Subject: [PATCH] Fix 4 small gamesetup issues - Random lanscape option now works properly. - Non-host clients now see the game attributes correctly in the loading screen, including in particular the map name. - AI bots are again translated. - 'Cheat' setting is persisted correctly in MP gamesetup. Reported by: myself, Freagarach, nwtour Differential Revision: https://code.wildfiregames.com/D3841 This was SVN commit r25257. --- .../data/mods/public/gui/gamesettings/attributes/Landscape.js | 2 +- .../mods/public/gui/gamesettings/attributes/PlayerName.js | 2 ++ .../gui/gamesetup/Controllers/GameSettingsController.js | 4 ++-- .../GameSetupPage/GameSettings/Single/Checkboxes/Cheats.js | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/binaries/data/mods/public/gui/gamesettings/attributes/Landscape.js b/binaries/data/mods/public/gui/gamesettings/attributes/Landscape.js index 47728518ab..0f7cfef81e 100644 --- a/binaries/data/mods/public/gui/gamesettings/attributes/Landscape.js +++ b/binaries/data/mods/public/gui/gamesettings/attributes/Landscape.js @@ -66,7 +66,7 @@ GameSettings.prototype.Attributes.Landscape = class Landscape extends GameSettin items = subgroup.Items.map(x => x.Id); } else - items = this.data.map(x => x.Items.map(item => item.Id)); + items = this.data.map(x => x.Items.map(item => item.Id)).flat(); this.value = pickRandom(items); return true; diff --git a/binaries/data/mods/public/gui/gamesettings/attributes/PlayerName.js b/binaries/data/mods/public/gui/gamesettings/attributes/PlayerName.js index 8256b00e8b..772d1215ac 100644 --- a/binaries/data/mods/public/gui/gamesettings/attributes/PlayerName.js +++ b/binaries/data/mods/public/gui/gamesettings/attributes/PlayerName.js @@ -73,6 +73,8 @@ GameSettings.prototype.Attributes.PlayerName = class PlayerName extends GameSett // Pick one of the available botnames for the chosen civ // Determine botnames let chosenName = pickRandom(this.settings.civData[civ].AINames); + if (!this.settings.isNetworked) + chosenName = translate(chosenName); // Count how many players use the chosenName let usedName = this.values.filter(oName => oName && oName.indexOf(chosenName) !== -1).length; diff --git a/binaries/data/mods/public/gui/gamesetup/Controllers/GameSettingsController.js b/binaries/data/mods/public/gui/gamesetup/Controllers/GameSettingsController.js index 452afc33b2..be7c7379c8 100644 --- a/binaries/data/mods/public/gui/gamesetup/Controllers/GameSettingsController.js +++ b/binaries/data/mods/public/gui/gamesetup/Controllers/GameSettingsController.js @@ -264,10 +264,10 @@ class GameSettingsController this.switchToLoadingPage(); } - switchToLoadingPage() + switchToLoadingPage(attributes) { Engine.SwitchGuiPage("page_loading.xml", { - "attribs": g_GameSettings.toInitAttributes(), + "attribs": attributes?.initAttributes || g_GameSettings.toInitAttributes(), "playerAssignments": g_PlayerAssignments }); } diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Cheats.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Cheats.js index cbac92f2de..7eeb15e3d2 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Cheats.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Cheats.js @@ -13,7 +13,8 @@ GameSettingControls.Cheats = class Cheats extends GameSettingControlCheckbox onLoad() { - g_GameSettings.cheats.setEnabled(!g_IsNetworked); + if (!g_IsNetworked) + g_GameSettings.cheats.setEnabled(true); this.render(); }