From 67ed75a6ef6fd090aac6cae9e31e2babb68e39b9 Mon Sep 17 00:00:00 2001 From: hachem Date: Fri, 22 Aug 2025 04:52:32 +0200 Subject: fix: settings not saving --- src/states/simulation_state.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/states/simulation_state.cpp') diff --git a/src/states/simulation_state.cpp b/src/states/simulation_state.cpp index 6d7ae47..9f1e0a7 100644 --- a/src/states/simulation_state.cpp +++ b/src/states/simulation_state.cpp @@ -27,6 +27,12 @@ namespace Donut engine.set_early_exit_distance(settings.simulation.early_exit_distance); engine.get_gravity() = settings.simulation.gravity_enabled; + engine.set_disk_thickness(settings.simulation.disk_thickness); + engine.set_disk_density(settings.simulation.disk_density); + engine.set_rotation_speed(settings.simulation.rotation_speed); + engine.set_blur_strength(settings.simulation.blur_strength); + engine.set_glow_intensity(settings.simulation.glow_intensity); + engine.update_compute_dimensions(); m_initialized = true; } @@ -227,6 +233,9 @@ namespace Donut if (ImGui::SliderFloat("Cloud Thickness", &disk_thickness, 0.1f, 2.0f, "%.2f")) { engine.set_disk_thickness(disk_thickness); + SimulationSettings settings = SettingsManager::get_settings_const().simulation; + settings.disk_thickness = disk_thickness; + SettingsManager::set_simulation_settings(settings); } ImGui::TextDisabled("Thickness relative to Schwarzschild radius"); @@ -234,6 +243,9 @@ namespace Donut if (ImGui::SliderFloat("Cloud Density", &disk_density, 0.1f, 3.0f, "%.2f")) { engine.set_disk_density(disk_density); + SimulationSettings settings = SettingsManager::get_settings_const().simulation; + settings.disk_density = disk_density; + SettingsManager::set_simulation_settings(settings); } ImGui::TextDisabled("Overall density multiplier"); @@ -241,6 +253,9 @@ namespace Donut if (ImGui::SliderFloat("Rotation Speed", &rotation_speed, 0.0f, 3.0f, "%.2f")) { engine.set_rotation_speed(rotation_speed); + SimulationSettings settings = SettingsManager::get_settings_const().simulation; + settings.rotation_speed = rotation_speed; + SettingsManager::set_simulation_settings(settings); } ImGui::TextDisabled("Rotation speed multiplier (0 = no rotation)"); @@ -248,6 +263,9 @@ namespace Donut if (ImGui::SliderFloat("Blur Strength", &blur_strength, 0.5f, 5.0f, "%.2f")) { engine.set_blur_strength(blur_strength); + SimulationSettings settings = SettingsManager::get_settings_const().simulation; + settings.blur_strength = blur_strength; + SettingsManager::set_simulation_settings(settings); } ImGui::TextDisabled("Blur radius for glow effect"); @@ -255,6 +273,9 @@ namespace Donut if (ImGui::SliderFloat("Glow Intensity", &glow_intensity, 0.1f, 3.0f, "%.2f")) { engine.set_glow_intensity(glow_intensity); + SimulationSettings settings = SettingsManager::get_settings_const().simulation; + settings.glow_intensity = glow_intensity; + SettingsManager::set_simulation_settings(settings); } ImGui::TextDisabled("Intensity of the glow effect"); -- cgit v1.3