aboutsummaryrefslogtreecommitdiff
path: root/src/Core/SettingsManager.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-20 02:27:02 +0200
committerhachem <im@hachem.wtf>2026-08-20 02:40:07 +0200
commit5b361d81dbd2af0d0e99b9eb1adebea76ff05db0 (patch)
tree34db1df17e8c7248aeeb92156d635d31c2484e3f /src/Core/SettingsManager.h
parente3abaaf59777258ba06705135a0cafcb5918ad12 (diff)
[chore]: MASSIVE refactor + more vulkan bs
Diffstat (limited to 'src/Core/SettingsManager.h')
-rw-r--r--src/Core/SettingsManager.h80
1 files changed, 0 insertions, 80 deletions
diff --git a/src/Core/SettingsManager.h b/src/Core/SettingsManager.h
deleted file mode 100644
index de0774b..0000000
--- a/src/Core/SettingsManager.h
+++ /dev/null
@@ -1,80 +0,0 @@
-#pragma once
-
-#include <string>
-#include <toml.hpp>
-
-namespace Donut
-{
- struct SimulationSettings
- {
- int targetFPS = 60;
- int computeHeight = 512;
- int maxStepsMoving = 30000;
- int maxStepsStatic = 15000;
- float earlyExitDistance = 5e12f;
- bool gravityEnabled = true;
- float diskThickness = 0.1f;
- float diskDensity = 0.1f;
- float rotationSpeed = 1.0f;
- float blurStrength = 2.0f;
- float glowIntensity = 0.1f;
- };
-
- struct GraphicsSettings
- {
- std::string renderAPI = "OpenGL";
- bool vSyncEnabled = true;
- bool showFPS = true;
- bool showPerformanceMetrics = true;
- bool showDebugInfo = false;
- bool enableAntiAliasing = true;
- std::string selectedTheme = "Dark";
- };
-
- struct Settings
- {
- SimulationSettings simulation;
- GraphicsSettings graphics;
- };
-
- class SettingsManager
- {
- public:
- static void Initialize();
- static void Shutdown();
-
- static void LoadSettings();
- static void SaveSettings();
-
- static Settings& GetSettings() { return s_Settings; }
- static const Settings& GetSettingsConst() { return s_Settings; }
-
- static void SetSimulationSettings(const SimulationSettings& settings);
- static void SetGraphicsSettings(const GraphicsSettings& settings);
-
- static int GetTargetFPS() { return s_Settings.simulation.targetFPS; }
- static int GetComputeHeight() { return s_Settings.simulation.computeHeight; }
- static int GetMaxStepsMoving() { return s_Settings.simulation.maxStepsMoving; }
- static int GetMaxStepsStatic() { return s_Settings.simulation.maxStepsStatic; }
- static float GetEarlyExitDistance() { return s_Settings.simulation.earlyExitDistance; }
- static bool GetGravityEnabled() { return s_Settings.simulation.gravityEnabled; }
- static float GetDiskThickness() { return s_Settings.simulation.diskThickness; }
- static float GetDiskDensity() { return s_Settings.simulation.diskDensity; }
- static float GetRotationSpeed() { return s_Settings.simulation.rotationSpeed; }
- static float GetBlurStrength() { return s_Settings.simulation.blurStrength; }
- static float GetGlowIntensity() { return s_Settings.simulation.glowIntensity; }
- static std::string GetRenderAPI() { return s_Settings.graphics.renderAPI; }
- static bool GetVSyncEnabled() { return s_Settings.graphics.vSyncEnabled; }
- static bool GetShowFPS() { return s_Settings.graphics.showFPS; }
- static bool GetShowPerformanceMetrics() { return s_Settings.graphics.showPerformanceMetrics; }
- static bool GetShowDebugInfo() { return s_Settings.graphics.showDebugInfo; }
- static bool GetEnableAntiAliasing() { return s_Settings.graphics.enableAntiAliasing; }
- static std::string GetSelectedTheme() { return s_Settings.graphics.selectedTheme; }
- private:
- static std::string GetSettingsFilePath();
- static void LoadDefaultSettings();
- private:
- static Settings s_Settings;
- static bool s_Initialized;
- };
-}