From a42ef6b3eadaa96b9cf4916576a16c228e1bc6e5 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Thu, 22 Jul 2010 23:01:27 +1200 Subject: [PATCH] Update Minimap at ~2Hz, staggering layers. Minimap is faster than ever before. --- OpenRA.Game/Widgets/RadarBinWidget.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/OpenRA.Game/Widgets/RadarBinWidget.cs b/OpenRA.Game/Widgets/RadarBinWidget.cs index c56ac7ced6..ac97689310 100644 --- a/OpenRA.Game/Widgets/RadarBinWidget.cs +++ b/OpenRA.Game/Widgets/RadarBinWidget.cs @@ -147,6 +147,7 @@ namespace OpenRA.Widgets } } + int updateTicks = 0; public override void Tick(World w) { var hasRadarNew = world.Queries.OwnedBy[world.LocalPlayer] @@ -158,12 +159,21 @@ namespace OpenRA.Widgets hasRadar = hasRadarNew; + // Build the radar image if (hasRadar) { - // Build the radar image - customTerrainSprite.sheet.Texture.SetData(Minimap.CustomTerrainBitmap(world)); - actorSprite.sheet.Texture.SetData(Minimap.ActorsBitmap(world)); - shroudSprite.sheet.Texture.SetData(Minimap.ShroudBitmap(world)); + --updateTicks; + if (updateTicks <= 0) + { + updateTicks = 12; + customTerrainSprite.sheet.Texture.SetData(Minimap.CustomTerrainBitmap(world)); + } + + if (updateTicks == 8) + actorSprite.sheet.Texture.SetData(Minimap.ActorsBitmap(world)); + + if (updateTicks == 4) + shroudSprite.sheet.Texture.SetData(Minimap.ShroudBitmap(world)); } if (!radarAnimating)