hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/states
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-22 04:52:32 +0200
committerhachem <im@hachem.wtf>2025-08-22 04:52:32 +0200
commit67ed75a6ef6fd090aac6cae9e31e2babb68e39b9 (patch)
tree605edf8af04a43fa6345860e2aeebef1ab10eedd /src/states
parent77717ae7c4f7c8f180e5c5e24cf1098c02f3dbf4 (diff)
fix: settings not saving
Diffstat (limited to 'src/states')
-rw-r--r--src/states/simulation_state.cpp21
1 files changed, 21 insertions, 0 deletions
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");