hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/states/config_state.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/states/config_state.h')
-rw-r--r--src/states/config_state.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/states/config_state.h b/src/states/config_state.h
index 15aff5c..7a31f8c 100644
--- a/src/states/config_state.h
+++ b/src/states/config_state.h
@@ -3,6 +3,7 @@
#include "core/state.h"
#include "core/event.h"
#include "core/log.h"
+#include "rendering/renderer.h"
namespace Donut
{
@@ -18,5 +19,29 @@ namespace Donut
void on_render() override;
void on_im_ui_render() override;
void on_event(Event& event) override;
+
+ private:
+ void apply_settings();
+ void reset_to_defaults();
+
+ private:
+ RendererAPI::API m_selected_api = RendererAPI::API::OpenGL;
+ bool m_show_restart_message = false;
+ float m_restart_message_timer = 0.0f;
+
+ int m_target_fps = 60;
+ int m_compute_height = 512;
+ int m_max_steps_moving = 30000;
+ int m_max_steps_static = 15000;
+ float m_early_exit_distance = 5e12f;
+ bool m_gravity_enabled = true;
+
+ bool m_v_sync_enabled = true;
+ bool m_show_fps = true;
+ bool m_show_performance_metrics = true;
+ bool m_show_debug_info = false;
+ bool m_enable_anti_aliasing = true;
+
+ int m_selected_theme = 0;
};
};