hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/core/application.cpp
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-16 22:00:16 +0200
committerhachem <im@hachem.wtf>2025-08-16 22:00:16 +0200
commitdf60b84f65fd5bfd80af2287463714fd0fa4a1a3 (patch)
tree466b027d57d9250684ae66ac6c7ede159130f170 /src/core/application.cpp
parentf7334b82e8ab8b4a36847d7f9dd2a56f29dd0cbf (diff)
feat: preferences and saving
Diffstat (limited to 'src/core/application.cpp')
-rw-r--r--src/core/application.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/application.cpp b/src/core/application.cpp
index 30194de..9d2278e 100644
--- a/src/core/application.cpp
+++ b/src/core/application.cpp
@@ -1,6 +1,7 @@
#include "application.h"
#include "rendering/renderer.h"
+#include "settings_manager.h"
#include "states/simulation_state.h"
#include "states/config_state.h"
@@ -98,7 +99,12 @@ namespace Donut
{
Logger::init();
- RendererAPI::set_api(RendererAPI::API::OpenGL);
+ SettingsManager::initialize();
+
+ const auto& settings = SettingsManager::get_settings_const();
+ RendererAPI::API api = (settings.graphics.render_api == "Vulkan") ? RendererAPI::API::Vulkan : RendererAPI::API::OpenGL;
+ RendererAPI::set_api(api);
+
Renderer::init();
m_window->init_im_gui();
@@ -117,6 +123,7 @@ namespace Donut
m_state_manager->shutdown();
Renderer::shutdown();
+ SettingsManager::shutdown();
Logger::shutdown();
}