diff --git a/AerofoilX/GpFileSystem_X.cpp b/AerofoilX/GpFileSystem_X.cpp index 68134f8..5a7b9d1 100644 --- a/AerofoilX/GpFileSystem_X.cpp +++ b/AerofoilX/GpFileSystem_X.cpp @@ -180,6 +180,9 @@ bool GpFileSystem_X::ResolvePath(PortabilityLayer::VirtualDirectory_t virtualDir case PortabilityLayer::VirtualDirectories::kPrefs: prefsAppend = "Prefs"; break; + case PortabilityLayer::VirtualDirectories::kLogs: + prefsAppend = "Logs"; + break; default: return false; }; @@ -220,7 +223,7 @@ void GpFileSystem_X::Init() if (m_basePath.size() >= 4 && m_basePath.substr(m_basePath.size() - 4, 3) == "bin") m_basePath = m_basePath.substr(0, m_basePath.size() - 4) + "lib" + baseDirSeparator + "aerofoil" + baseDirSeparator; - const char *extensions[] = { "HighScores", "Houses", "SavedGames", "Prefs", "FontCache" }; + const char *extensions[] = { "HighScores", "Houses", "SavedGames", "Prefs", "Logs" }; for (size_t i = 0; i < sizeof(extensions) / sizeof(extensions[0]); i++) { std::string prefsPath = std::string(prefsDir) + extensions[i]; diff --git a/AerofoilX/GpMain_SDL_X.cpp b/AerofoilX/GpMain_SDL_X.cpp index 3537207..399785f 100644 --- a/AerofoilX/GpMain_SDL_X.cpp +++ b/AerofoilX/GpMain_SDL_X.cpp @@ -29,14 +29,26 @@ IGpInputDriver *GpDriver_CreateInputDriver_SDL2_Gamepad(const GpInputDriverPrope SDLMAIN_DECLSPEC int SDL_main(int argc, char *argv[]) { - GpLogDriver_X::Init(); + bool enableLogging = false; + for (int i = 1; i < argc; i++) + { + if (!strcmp(argv[i], "-diagnostics")) + enableLogging = true; + } if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMECONTROLLER) < 0) return -1; GpFileSystem_X::GetInstance()->Init(); - IGpLogDriver *logger = GpLogDriver_X::GetInstance(); + IGpLogDriver *logger = nullptr; + + if (enableLogging) + { + GpLogDriver_X::Init(); + logger = GpLogDriver_X::GetInstance(); + } + GpDriverCollection *drivers = GpAppInterface_Get()->PL_GetDriverCollection(); drivers->SetDriver(GpFileSystem_X::GetInstance());