From 95422cff7a93c5a4cd414adfa8d1c1b1f2cb3a4e Mon Sep 17 00:00:00 2001 From: szdytom Date: Tue, 5 Aug 2025 16:07:37 +0800 Subject: [PATCH] fix: prevent GenerationConfig from being copied in TerrainGenerator Signed-off-by: szdytom --- tilemap/include/tilemap/generation.h | 2 +- tilemap/src/generation.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tilemap/include/tilemap/generation.h b/tilemap/include/tilemap/generation.h index 0df1be7..1119a9d 100644 --- a/tilemap/include/tilemap/generation.h +++ b/tilemap/include/tilemap/generation.h @@ -70,7 +70,7 @@ struct GenerationConfig { // Terrain generator class that manages the generation process class TerrainGenerator { private: - GenerationConfig config_; + const GenerationConfig &config_; Xoroshiro128PP master_rng_; public: diff --git a/tilemap/src/generation.cpp b/tilemap/src/generation.cpp index 260649d..96a270f 100644 --- a/tilemap/src/generation.cpp +++ b/tilemap/src/generation.cpp @@ -2,9 +2,10 @@ namespace istd { TerrainGenerator::TerrainGenerator(const GenerationConfig &config) - : config_(config), master_rng_(config.seed) {} + : config_(config) {} void TerrainGenerator::operator()(TileMap &tilemap) { + master_rng_ = Xoroshiro128PP(config_.seed); biome_pass(tilemap); base_tile_type_pass(tilemap); smoothen_mountains_pass(tilemap);