diff options
| author | hachem <im@hachem.wtf> | 2025-08-22 04:52:32 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2025-08-22 04:52:32 +0200 |
| commit | 34e5b184d391f3676ca22ca3309dd536c23ccedf (patch) | |
| tree | c1e8771635de9a89b101749db056d0496a6e731e /src/States/SimulationState.cpp | |
| parent | b9c20fccac64e7aadd28ea6c621c4ffda2561c54 (diff) | |
[fix]: settings not saving
Diffstat (limited to 'src/States/SimulationState.cpp')
| -rw-r--r-- | src/States/SimulationState.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/States/SimulationState.cpp b/src/States/SimulationState.cpp index 2a79b3c..4d388fd 100644 --- a/src/States/SimulationState.cpp +++ b/src/States/SimulationState.cpp @@ -27,6 +27,13 @@ namespace Donut engine.SetEarlyExitDistance(settings.simulation.earlyExitDistance); engine.GetGravity() = settings.simulation.gravityEnabled; + // Load accretion disk settings + engine.SetDiskThickness(settings.simulation.diskThickness); + engine.SetDiskDensity(settings.simulation.diskDensity); + engine.SetRotationSpeed(settings.simulation.rotationSpeed); + engine.SetBlurStrength(settings.simulation.blurStrength); + engine.SetGlowIntensity(settings.simulation.glowIntensity); + engine.UpdateComputeDimensions(); m_Initialized = true; } @@ -227,6 +234,9 @@ namespace Donut if (ImGui::SliderFloat("Cloud Thickness", &diskThickness, 0.1f, 2.0f, "%.2f")) { engine.SetDiskThickness(diskThickness); + SimulationSettings settings = SettingsManager::GetSettingsConst().simulation; + settings.diskThickness = diskThickness; + SettingsManager::SetSimulationSettings(settings); } ImGui::TextDisabled("Thickness relative to Schwarzschild radius"); @@ -234,6 +244,9 @@ namespace Donut if (ImGui::SliderFloat("Cloud Density", &diskDensity, 0.1f, 3.0f, "%.2f")) { engine.SetDiskDensity(diskDensity); + SimulationSettings settings = SettingsManager::GetSettingsConst().simulation; + settings.diskDensity = diskDensity; + SettingsManager::SetSimulationSettings(settings); } ImGui::TextDisabled("Overall density multiplier"); @@ -241,6 +254,9 @@ namespace Donut if (ImGui::SliderFloat("Rotation Speed", &rotationSpeed, 0.0f, 3.0f, "%.2f")) { engine.SetRotationSpeed(rotationSpeed); + SimulationSettings settings = SettingsManager::GetSettingsConst().simulation; + settings.rotationSpeed = rotationSpeed; + SettingsManager::SetSimulationSettings(settings); } ImGui::TextDisabled("Rotation speed multiplier (0 = no rotation)"); @@ -248,6 +264,9 @@ namespace Donut if (ImGui::SliderFloat("Blur Strength", &blurStrength, 0.5f, 5.0f, "%.2f")) { engine.SetBlurStrength(blurStrength); + SimulationSettings settings = SettingsManager::GetSettingsConst().simulation; + settings.blurStrength = blurStrength; + SettingsManager::SetSimulationSettings(settings); } ImGui::TextDisabled("Blur radius for glow effect"); @@ -255,6 +274,9 @@ namespace Donut if (ImGui::SliderFloat("Glow Intensity", &glowIntensity, 0.1f, 3.0f, "%.2f")) { engine.SetGlowIntensity(glowIntensity); + SimulationSettings settings = SettingsManager::GetSettingsConst().simulation; + settings.glowIntensity = glowIntensity; + SettingsManager::SetSimulationSettings(settings); } ImGui::TextDisabled("Intensity of the glow effect"); |
