diff --git a/src/engine.cpp b/src/engine.cpp index 438652ae..6151f948 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -41,9 +41,7 @@ using std::filesystem::path; using glm::vec3; using gui::GUI; -Engine::Engine(const EngineSettings& settings_) { - this->settings = settings_; - +Engine::Engine(EngineSettings& settings) : settings(settings) { Window::initialize(settings.display); assets = new Assets(); diff --git a/src/engine.h b/src/engine.h index 058a4c19..76c56ee3 100644 --- a/src/engine.h +++ b/src/engine.h @@ -23,7 +23,7 @@ public: class Engine { Assets* assets; std::shared_ptr screen = nullptr; - EngineSettings settings; + EngineSettings& settings; uint64_t frame = 0; double lastTime = 0.0; @@ -31,7 +31,7 @@ class Engine { gui::GUI* gui; public: - Engine(const EngineSettings& settings); + Engine(EngineSettings& settings); ~Engine(); void updateTimers(); diff --git a/src/voxel_engine.cpp b/src/voxel_engine.cpp index cc116389..b0a57e77 100644 --- a/src/voxel_engine.cpp +++ b/src/voxel_engine.cpp @@ -57,6 +57,9 @@ int main() { } Engine engine(settings); engine.mainloop(); + + std::cout << "-- saving settings" << std::endl; + files::write_string(settings_file, wrapper.write()); } catch (const initialize_error& err) { std::cerr << "could not to initialize engine" << std::endl;