From 67fcdb5b9148459e4ced60958681d0d8b212aa49 Mon Sep 17 00:00:00 2001 From: Scott_NZ Date: Tue, 9 Apr 2013 00:18:08 +1200 Subject: [PATCH 1/3] Remove Shroud.Jank() and make all references to it call Shroud.Dirty() instead --- OpenRA.Game/Traits/World/Shroud.cs | 8 +------- .../Widgets/Logic/ObserverShroudSelectorLogic.cs | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/OpenRA.Game/Traits/World/Shroud.cs b/OpenRA.Game/Traits/World/Shroud.cs index ddbc77108d..7089d9c09e 100644 --- a/OpenRA.Game/Traits/World/Shroud.cs +++ b/OpenRA.Game/Traits/World/Shroud.cs @@ -48,13 +48,7 @@ namespace OpenRA.Traits get { return Disabled ? null : exploredBounds; } } - public event Action Dirty = () => { }; - - public void Jank() - { - Dirty(); - } - + public Action Dirty = () => { }; public Shroud(World world) { diff --git a/OpenRA.Mods.RA/Widgets/Logic/ObserverShroudSelectorLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/ObserverShroudSelectorLogic.cs index 2fc3344344..1753d55fce 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/ObserverShroudSelectorLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/ObserverShroudSelectorLogic.cs @@ -41,11 +41,11 @@ namespace OpenRA.Mods.RA.Widgets.Logic var views = world.Players.Where(p => !p.NonCombatant).ToDictionary(p => p.PlayerName, p => new CameraOption("{0}'s view".F(p.PlayerName), () => world.RenderedPlayer == p, - () => { world.RenderedPlayer = p; world.RenderedShroud.Jank(); } + () => { world.RenderedPlayer = p; world.RenderedShroud.Dirty(); } )); views.Add("", new CameraOption("World view", () => world.RenderedPlayer == null, - () => { world.RenderedPlayer = null; world.RenderedShroud.Jank(); } + () => { world.RenderedPlayer = null; world.RenderedShroud.Dirty(); } )); var shroudSelector = widget.Get("SHROUD_SELECTOR"); From f16edfcf983b24cf29080dfeb9e1b4101a0af93d Mon Sep 17 00:00:00 2001 From: Scott_NZ Date: Tue, 9 Apr 2013 00:18:21 +1200 Subject: [PATCH 2/3] Fix shroud bug in Monster Tank Madness --- .../Missions/MonsterTankMadnessScript.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs b/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs index 1e7feb2864..d4b2164875 100644 --- a/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs +++ b/OpenRA.Mods.RA/Missions/MonsterTankMadnessScript.cs @@ -281,13 +281,23 @@ namespace OpenRA.Mods.RA.Missions void OnSuperTankDomeInfiltrated(Actor spy) { if (superTankDomeInfiltratedTick != -1) return; + superTankDome.QueueActivity(new Transform(superTankDome, "dome") { SkipMakeAnims = true }); - turkey.Stances[greece] = turkey.Stances[neutral] = Stance.Ally; - greece.Stances[turkey] = neutral.Stances[turkey] = Stance.Ally; - greece.Shroud.ExploreAll(world); + + world.AddFrameEndTask(_ => + { + superTanks.Do(world.Remove); + turkey.Stances[greece] = turkey.Stances[neutral] = Stance.Ally; + greece.Stances[turkey] = neutral.Stances[turkey] = Stance.Ally; + greece.Shroud.ExploreAll(world); + superTanks.Do(world.Add); + }); + foreach (var tank in superTanks.Where(t => !t.IsDead() && t.IsInWorld)) MissionUtils.AttackNearestLandActor(false, tank, ussr); + superTankDomeInfiltratedTick = world.FrameNumber; + objectives[InfiltrateRadarDomeID].Status = ObjectiveStatus.Completed; OnObjectivesUpdated(true); } From c173cfa77125479777563540aa3054edacbed0a2 Mon Sep 17 00:00:00 2001 From: Scott_NZ Date: Tue, 9 Apr 2013 03:07:33 +1200 Subject: [PATCH 3/3] Remove extra tab --- OpenRA.Mods.RA/Widgets/Logic/ObserverShroudSelectorLogic.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenRA.Mods.RA/Widgets/Logic/ObserverShroudSelectorLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/ObserverShroudSelectorLogic.cs index 1753d55fce..ba2b14c402 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/ObserverShroudSelectorLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/ObserverShroudSelectorLogic.cs @@ -41,7 +41,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic var views = world.Players.Where(p => !p.NonCombatant).ToDictionary(p => p.PlayerName, p => new CameraOption("{0}'s view".F(p.PlayerName), () => world.RenderedPlayer == p, - () => { world.RenderedPlayer = p; world.RenderedShroud.Dirty(); } + () => { world.RenderedPlayer = p; world.RenderedShroud.Dirty(); } )); views.Add("", new CameraOption("World view", () => world.RenderedPlayer == null,