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);