From 002d749c7e91bf665f69dbd7b6ae317dcb698f01 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Thu, 4 Jan 2024 13:04:14 +1100 Subject: [PATCH] Minor biomes change (#23494) Maybe fixes void if there's exceptions, idk --- Content.Server/Parallax/BiomeSystem.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Content.Server/Parallax/BiomeSystem.cs b/Content.Server/Parallax/BiomeSystem.cs index 881663db56..fd44f24336 100644 --- a/Content.Server/Parallax/BiomeSystem.cs +++ b/Content.Server/Parallax/BiomeSystem.cs @@ -57,6 +57,8 @@ public sealed partial class BiomeSystem : SharedBiomeSystem private const float DefaultLoadRange = 16f; private float _loadRange = DefaultLoadRange; + private List<(Vector2i, Tile)> _tiles = new(); + private ObjectPool> _tilePool = new DefaultObjectPool>(new SetPolicy(), 256); @@ -582,7 +584,6 @@ public sealed partial class BiomeSystem : SharedBiomeSystem component.ForcedMarkerLayers.Clear(); var active = _activeChunks[component]; - List<(Vector2i, Tile)>? tiles = null; foreach (var chunk in active) { @@ -591,9 +592,8 @@ public sealed partial class BiomeSystem : SharedBiomeSystem if (!component.LoadedChunks.Add(chunk)) continue; - tiles ??= new List<(Vector2i, Tile)>(ChunkSize * ChunkSize); // Load NOW! - LoadChunk(component, gridUid, grid, chunk, seed, tiles); + LoadChunk(component, gridUid, grid, chunk, seed); } } @@ -665,11 +665,11 @@ public sealed partial class BiomeSystem : SharedBiomeSystem EntityUid gridUid, MapGridComponent grid, Vector2i chunk, - int seed, - List<(Vector2i, Tile)> tiles) + int seed) { component.ModifiedTiles.TryGetValue(chunk, out var modified); modified ??= _tilePool.Get(); + _tiles.Clear(); // Set tiles first for (var x = 0; x < ChunkSize; x++) @@ -686,15 +686,15 @@ public sealed partial class BiomeSystem : SharedBiomeSystem if (_mapSystem.TryGetTileRef(gridUid, grid, indices, out var tileRef) && !tileRef.Tile.IsEmpty) continue; - if (!TryGetBiomeTile(indices, component.Layers, seed, grid, out var biomeTile) || biomeTile.Value == tileRef.Tile) + if (!TryGetBiomeTile(indices, component.Layers, seed, grid, out var biomeTile)) continue; - tiles.Add((indices, biomeTile.Value)); + _tiles.Add((indices, biomeTile.Value)); } } - _mapSystem.SetTiles(gridUid, grid, tiles); - tiles.Clear(); + _mapSystem.SetTiles(gridUid, grid, _tiles); + _tiles.Clear(); // Now do entities var loadedEntities = new Dictionary(); -- 2.51.2