From fdafaf29262242d2cbf800bc031b4288549486b5 Mon Sep 17 00:00:00 2001 From: Angen Date: Fri, 11 Sep 2020 19:24:02 +0000 Subject: [PATCH] Read correctly 0/false values from map files in gamesetup After 34138a7764, if map specifies 0 as value in certain settings, this value is ignored. Fixing that by explicitly checking for undefined. Differential Revision: D2982 Reviewed by: Freagarach This was SVN commit r24037. --- .../GameSettings/Single/Checkboxes/ExploredMap.js | 7 ++++--- .../GameSettings/Single/Checkboxes/LastManStanding.js | 9 +++++---- .../GameSettings/Single/Checkboxes/LockedTeams.js | 9 +++++---- .../GameSettings/Single/Checkboxes/Nomad.js | 7 ++++--- .../GameSettings/Single/Checkboxes/RegicideGarrison.js | 7 ++++--- .../GameSettings/Single/Checkboxes/RevealedMap.js | 7 ++++--- .../GameSettings/Single/Checkboxes/Spies.js | 7 ++++--- .../GameSettings/Single/Checkboxes/Treasures.js | 7 ++++--- .../GameSettings/Single/Checkboxes/WorldPopulation.js | 7 ++++--- .../GameSettings/Single/Dropdowns/GameSpeed.js | 4 +++- .../GameSettings/Single/Dropdowns/MapSize.js | 7 ++++--- .../GameSettings/Single/Dropdowns/PopulationCap.js | 7 ++++--- .../GameSettings/Single/Dropdowns/StartingResources.js | 7 ++++--- .../GameSettings/Single/Dropdowns/WorldPopulationCap.js | 7 ++++--- .../GameSettings/Single/Sliders/Ceasefire.js | 7 ++++--- .../GameSettings/Single/Sliders/RelicCount.js | 7 ++++--- .../GameSettings/Single/Sliders/RelicDuration.js | 7 ++++--- .../GameSettings/Single/Sliders/WonderDuration.js | 7 ++++--- 18 files changed, 73 insertions(+), 54 deletions(-) diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/ExploredMap.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/ExploredMap.js index bd23ac6978..216ad49d73 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/ExploredMap.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/ExploredMap.js @@ -2,10 +2,11 @@ GameSettingControls.ExploredMap = class extends GameSettingControlCheckbox { onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.ExploreMap || undefined; + mapData.settings.ExploreMap !== undefined) + mapValue = mapData.settings.ExploreMap; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.ExploreMap) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/LastManStanding.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/LastManStanding.js index 1665d0634f..bdf4dd9cb4 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/LastManStanding.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/LastManStanding.js @@ -2,11 +2,12 @@ GameSettingControls.LastManStanding = class extends GameSettingControlCheckbox { onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - !mapData.settings.LockTeams && - mapData.settings.LastManStanding; + mapData.settings.LastManStanding !== undefined) + mapValue = !mapData.settings.LockTeams && + mapData.settings.LastManStanding; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.LastManStanding) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/LockedTeams.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/LockedTeams.js index 8bae8487e7..db08c9ce70 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/LockedTeams.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/LockedTeams.js @@ -2,11 +2,12 @@ GameSettingControls.LockedTeams = class extends GameSettingControlCheckbox { onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - !mapData.settings.LockTeams && - mapData.settings.LastManStanding; + mapData.settings.LockTeams !== undefined) + mapValue = !mapData.settings.LockTeams && + mapData.settings.LastManStanding; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.LastManStanding) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Nomad.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Nomad.js index f9727ad126..ebdd8f13a9 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Nomad.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Nomad.js @@ -7,10 +7,11 @@ GameSettingControls.Nomad = class extends GameSettingControlCheckbox if (!available) return; - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.Nomad; + mapData.settings.Nomad !== undefined) + mapValue = mapData.settings.Nomad; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.Nomad) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/RegicideGarrison.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/RegicideGarrison.js index 24925a8fcb..952b26a0fd 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/RegicideGarrison.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/RegicideGarrison.js @@ -4,12 +4,13 @@ GameSettingControls.RegicideGarrison = class extends GameSettingControlCheckbox { this.setEnabled(g_GameAttributes.mapType != "scenario"); - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && mapData.settings.VictoryConditions && mapData.settings.VictoryConditions.indexOf(this.RegicideName) != -1 && - mapData.settings.RegicideGarrison; + mapData.settings.RegicideGarrison !== undefined) + mapValue = mapData.settings.RegicideGarrison; if (mapValue !== undefined || !g_GameAttributes.settings || mapValue == g_GameAttributes.settings.RegicideGarrison) return; diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/RevealedMap.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/RevealedMap.js index 6f39c29baf..33963de1cd 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/RevealedMap.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/RevealedMap.js @@ -2,10 +2,11 @@ GameSettingControls.RevealedMap = class extends GameSettingControlCheckbox { onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.RevealMap || undefined; + mapData.settings.RevealMap !== undefined) + mapValue = mapData.settings.RevealMap; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.RevealMap) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Spies.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Spies.js index 06fe1ba23d..3832492127 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Spies.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Spies.js @@ -2,10 +2,11 @@ GameSettingControls.Spies = class extends GameSettingControlCheckbox { onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.DisableSpies; + mapData.settings.DisableSpies !== undefined) + mapValue = mapData.settings.DisableSpies; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.DisableSpies) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Treasures.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Treasures.js index 545133e866..6a184848a3 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Treasures.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/Treasures.js @@ -2,10 +2,11 @@ GameSettingControls.Treasures = class extends GameSettingControlCheckbox { onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.DisableTreasures; + mapData.settings.DisableTreasures !== undefined) + mapValue = mapData.settings.DisableTreasures; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.DisableTreasures) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/WorldPopulation.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/WorldPopulation.js index a8fb37f078..58bda9a2b5 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/WorldPopulation.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Checkboxes/WorldPopulation.js @@ -2,10 +2,11 @@ GameSettingControls.WorldPopulation = class extends GameSettingControlCheckbox { onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.WorldPopulation || undefined; + mapData.settings.WorldPopulation !== undefined) + mapValue = mapData.settings.WorldPopulation; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.WorldPopulation) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/GameSpeed.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/GameSpeed.js index 8338a4e8bd..a0ed87e337 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/GameSpeed.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/GameSpeed.js @@ -9,7 +9,9 @@ GameSettingControls.GameSpeed = class extends GameSettingControlDropdown onMapChange(mapData) { - let mapValue = mapData && mapData.gameSpeed || undefined; + let mapValue; + if (mapData && mapData.gameSpeed !== undefined) + mapValue = mapData.gameSpeed; if (mapValue !== undefined && mapValue != g_GameAttributes.gameSpeed) { g_GameAttributes.gameSpeed = mapValue; diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/MapSize.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/MapSize.js index be3354ba64..0844252244 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/MapSize.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/MapSize.js @@ -17,10 +17,11 @@ GameSettingControls.MapSize = class extends GameSettingControlDropdown onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.Size || undefined; + mapData.settings.Size !== undefined) + mapValue = mapData.settings.Size; if (g_GameAttributes.mapType == "random" && mapValue !== undefined && mapValue != g_GameAttributes.settings.Size) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/PopulationCap.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/PopulationCap.js index 9734f58109..2c2370dbde 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/PopulationCap.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/PopulationCap.js @@ -14,10 +14,11 @@ GameSettingControls.PopulationCap = class extends GameSettingControlDropdown onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.PopulationCap || undefined; + mapData.settings.PopulationCap !== undefined) + mapValue = mapData.settings.PopulationCap; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.PopulationCap) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/StartingResources.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/StartingResources.js index 95c17b1056..f8e7eaf96d 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/StartingResources.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/StartingResources.js @@ -24,10 +24,11 @@ GameSettingControls.StartingResources = class extends GameSettingControlDropdown onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.StartingResources || undefined; + mapData.settings.StartingResources !== undefined) + mapValue = mapData.settings.StartingResources; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.StartingResources) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/WorldPopulationCap.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/WorldPopulationCap.js index 1f304c5e77..4f10006ef1 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/WorldPopulationCap.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/WorldPopulationCap.js @@ -12,10 +12,11 @@ GameSettingControls.WorldPopulationCap = class extends GameSettingControlDropdow onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.WorldPopulationCap || undefined; + mapData.settings.WorldPopulationCap !== undefined) + mapValue = mapData.settings.WorldPopulationCap; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.WorldPopulationCap) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/Ceasefire.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/Ceasefire.js index 6a356c9cbd..196ea404f1 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/Ceasefire.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/Ceasefire.js @@ -9,10 +9,11 @@ GameSettingControls.Ceasefire = class extends GameSettingControlSlider onMapChange(mapData) { - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && - mapData.settings.Ceasefire || undefined; + mapData.settings.Ceasefire !== undefined) + mapValue = mapData.settings.Ceasefire; if (mapValue !== undefined && mapValue != g_GameAttributes.settings.Ceasefire) { diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicCount.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicCount.js index 4b6986a5be..78acd1c8bb 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicCount.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicCount.js @@ -12,12 +12,13 @@ GameSettingControls.RelicCount = class extends GameSettingControlSlider { this.setEnabled(g_GameAttributes.mapType != "scenario"); - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && mapData.settings.VictoryConditions && mapData.settings.VictoryConditions.indexOf(this.NameCaptureTheRelic) != -1 && - mapData.settings.RelicCount || undefined; + mapData.settings.RelicCount !== undefined) + mapValue = mapData.settings.RelicCount; if (mapValue === undefined || mapValue == g_GameAttributes.settings.RelicCount) return; diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicDuration.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicDuration.js index 4f8d2738c6..baa1264fa6 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicDuration.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/RelicDuration.js @@ -12,12 +12,13 @@ GameSettingControls.RelicDuration = class extends GameSettingControlSlider { this.setEnabled(g_GameAttributes.mapType != "scenario"); - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && mapData.settings.VictoryConditions && mapData.settings.VictoryConditions.indexOf(this.NameCaptureTheRelic) != -1 && - mapData.settings.RelicDuration || undefined; + mapData.settings.RelicDuration !== undefined) + mapValue = mapData.settings.RelicDuration; if (mapValue === undefined || mapValue == g_GameAttributes.settings.RelicDuration) return; diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/WonderDuration.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/WonderDuration.js index 5ffb75cca5..31150a3117 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/WonderDuration.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/WonderDuration.js @@ -12,12 +12,13 @@ GameSettingControls.WonderDuration = class extends GameSettingControlSlider { this.setEnabled(g_GameAttributes.mapType != "scenario"); - let mapValue = - mapData && + let mapValue; + if (mapData && mapData.settings && mapData.settings.VictoryConditions && mapData.settings.VictoryConditions.indexOf(this.NameWonderVictory) != -1 && - mapData.settings.WonderDuration || undefined; + mapData.settings.WonderDuration !== undefined) + mapValue = mapData.settings.WonderDuration; if (mapValue === undefined || mapValue == g_GameAttributes.settings.WonderDuration) return;