aboutsummaryrefslogtreecommitdiff
path: root/src/States/ConfigState.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-16 17:36:57 +0200
committerhachem <im@hachem.wtf>2025-08-16 17:36:57 +0200
commit279e2378c1ef02e3917c29f8fafb39c058971577 (patch)
treee99af6bb415355bfc51c8be7bc7efb2c318998a1 /src/States/ConfigState.h
parent46ab589e5e1351f3081b5b4c76350967ef2f88a8 (diff)
[add]: Themes and better UI
Diffstat (limited to 'src/States/ConfigState.h')
-rw-r--r--src/States/ConfigState.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/States/ConfigState.h b/src/States/ConfigState.h
index c54500c..baee8fa 100644
--- a/src/States/ConfigState.h
+++ b/src/States/ConfigState.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,30 @@ namespace Donut
void OnRender() override;
void OnImUIRender() override;
void OnEvent(Event& event) override;
+
+ private:
+ void ApplySettings();
+ void ResetToDefaults();
+
+ private:
+ RendererAPI::API m_SelectedAPI = RendererAPI::API::OpenGL;
+ bool m_ShowRestartMessage = false;
+ float m_RestartMessageTimer = 0.0f;
+
+ int m_TargetFPS = 60;
+ int m_ComputeHeight = 512;
+ int m_MaxStepsMoving = 30000;
+ int m_MaxStepsStatic = 15000;
+ float m_EarlyExitDistance = 5e12f;
+ bool m_GravityEnabled = true;
+
+ bool m_VSyncEnabled = true;
+ bool m_ShowFPS = true;
+ bool m_ShowPerformanceMetrics = true;
+ bool m_ShowDebugInfo = false;
+ bool m_EnableAntiAliasing = true;
+
+ // Theme settings
+ int m_SelectedTheme = 0; // 0=Dark, 1=Light, 2=Blue
};
}; \ No newline at end of file