From 26a8d3925b3fabcc8d71dd37a3b03fe42d10953f Mon Sep 17 00:00:00 2001 From: briaguya <70942617+briaguya-ai@users.noreply.github.com> Date: Thu, 26 Dec 2024 13:59:26 -0500 Subject: [PATCH] manually init LUS to workaround init dependency issues in constructors --- src/port/Engine.cpp | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index 40f8d083..79eafd19 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -82,11 +82,28 @@ GameEngine::GameEngine() { } } - auto controlDeck = std::make_shared(); - auto window = std::make_shared(std::vector>({})); this->context = - Ship::Context::CreateInstance("Starship", "ship", "starship.cfg.json", OTRFiles, {}, 3, { 44100, 1024*2, 2480*2 }, window, controlDeck); + Ship::Context::CreateUninitializedInstance("Starship", "ship", "starship.cfg.json"); + + this->context->InitLogging(); + this->context->InitConfiguration(); + this->context->InitConsoleVariables(); + + auto controlDeck = std::make_shared(); + + this->context->InitResourceManager(OTRFiles, {}, 3); + this->context->InitControlDeck(controlDeck); + this->context->InitCrashHandler(); + this->context->InitConsole(); + + auto window = std::make_shared(std::vector>({})); + + this->context->InitWindow(window); + this->context->InitAudio({ 44100, 1024*2, 2480*2 }); + this->context->InitGfxDebugger(); + + this->context->Init(OTRFiles, {}, 3, { 44100, 1024*2, 2480*2 }, window, controlDeck); Ship::Context::GetInstance()->GetLogger()->set_level((spdlog::level::level_enum)CVarGetInteger("gDeveloperTools.LogLevel", 1)); Ship::Context::GetInstance()->GetLogger()->set_pattern("[%H:%M:%S.%e] [%s:%#] [%l] %v");