From 295b708a811a8e9a2367fe307ac17dcc6b67fd94 Mon Sep 17 00:00:00 2001 From: Stanislav Denisov Date: Fri, 10 Oct 2025 07:49:00 +0200 Subject: [PATCH] Improve the logic for auto adding the weather component to the terrain (#1238) --- WickedEngine/wiTerrain.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/WickedEngine/wiTerrain.cpp b/WickedEngine/wiTerrain.cpp index 2dae47cfc..4f576a121 100644 --- a/WickedEngine/wiTerrain.cpp +++ b/WickedEngine/wiTerrain.cpp @@ -474,12 +474,20 @@ namespace wi::terrain modifier->Seed(seed); } - // Add some nice weather and lighting: - if (!scene->weathers.Contains(terrainEntity)) + // Add some nice weather and lighting if there are no weathers in the scene yet: + bool created_terrain_weather = false; + if (scene->weathers.GetCount() == 0) { - scene->weathers.Create(terrainEntity); + if (!scene->weathers.Contains(terrainEntity)) + { + scene->weathers.Create(terrainEntity); + created_terrain_weather = true; + } + } + if (created_terrain_weather) + { + *scene->weathers.GetComponent(terrainEntity) = weather; } - *scene->weathers.GetComponent(terrainEntity) = weather; if (!weather.IsOceanEnabled()) { scene->ocean = {};