From 9d79e52989269b7488d36d0dcde3c96be7b7f58b Mon Sep 17 00:00:00 2001 From: Gustas <37534529+PunkPun@users.noreply.github.com> Date: Sun, 6 Aug 2023 14:21:49 +0300 Subject: [PATCH] Fix out of bounds cells not being randomised --- OpenRA.Mods.Common/Terrain/DefaultTerrain.cs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/OpenRA.Mods.Common/Terrain/DefaultTerrain.cs b/OpenRA.Mods.Common/Terrain/DefaultTerrain.cs index 1a6d54927b..46a4f4ac26 100644 --- a/OpenRA.Mods.Common/Terrain/DefaultTerrain.cs +++ b/OpenRA.Mods.Common/Terrain/DefaultTerrain.cs @@ -170,18 +170,15 @@ namespace OpenRA.Mods.Common.Terrain void ITerrainInfoNotifyMapCreated.MapCreated(Map map) { - // Randomize PickAny tile variants + // Randomize PickAny tile variants. var r = new MersenneTwister(); - for (var j = map.Bounds.Top; j < map.Bounds.Bottom; j++) + foreach (var uv in map.AllCells.MapCoords) { - for (var i = map.Bounds.Left; i < map.Bounds.Right; i++) - { - var type = map.Tiles[new MPos(i, j)].Type; - if (!Templates.TryGetValue(type, out var template) || !template.PickAny) - continue; + var type = map.Tiles[uv].Type; + if (!Templates.TryGetValue(type, out var template) || !template.PickAny) + continue; - map.Tiles[new MPos(i, j)] = new TerrainTile(type, (byte)r.Next(0, template.TilesCount)); - } + map.Tiles[uv] = new TerrainTile(type, (byte)r.Next(0, template.TilesCount)); } } }