From 48e794e97da6c2259a93238534fdb05f88766f40 Mon Sep 17 00:00:00 2001 From: temple Date: Sun, 3 Jun 2018 16:40:44 +0000 Subject: [PATCH] Always call SetPassabilityCircular -- Fix OOS after rejoin on square maps Differential Revision: https://code.wildfiregames.com/D1555 Reviewed by: elexis Fixes: #5186 This was SVN commit r21835. --- .../mods/public/simulation/helpers/Setup.js | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/binaries/data/mods/public/simulation/helpers/Setup.js b/binaries/data/mods/public/simulation/helpers/Setup.js index 8c48dfd862..530b2900a6 100644 --- a/binaries/data/mods/public/simulation/helpers/Setup.js +++ b/binaries/data/mods/public/simulation/helpers/Setup.js @@ -9,13 +9,11 @@ function LoadMapSettings(settings) settings = {}; if (settings.DefaultStance) - { for (let ent of Engine.GetEntitiesWithInterface(IID_UnitAI)) { let cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); cmpUnitAI.SwitchToStance(settings.DefaultStance); } - } if (settings.RevealMap) { @@ -32,18 +30,15 @@ function LoadMapSettings(settings) Engine.DestroyEntity(ent); } - if (settings.CircularMap) - { - let cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager); - if (cmpRangeManager) - cmpRangeManager.SetLosCircular(true); + let cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager); + if (cmpRangeManager) + cmpRangeManager.SetLosCircular(!!settings.CircularMap); - let cmpObstructionManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ObstructionManager); - if (cmpObstructionManager) - cmpObstructionManager.SetPassabilityCircular(true); - } + let cmpObstructionManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ObstructionManager); + if (cmpObstructionManager) + cmpObstructionManager.SetPassabilityCircular(!!settings.CircularMap); - if (settings.TriggerDifficulty != undefined) + if (settings.TriggerDifficulty !== undefined) Engine.QueryInterface(SYSTEM_ENTITY, IID_Trigger).SetDifficulty(settings.TriggerDifficulty); else if (settings.SupportedTriggerDifficulties) // used by Atlas and autostart games {