#pragma once #include "GameFixes.h" #include #include #include #include #include inline std::shared_ptr gLogger; inline std::shared_ptr InitializeLogger(const char* logger_name, const std::string& pluginLog, bool registerLog = true) { try { std::filesystem::path log_path = std::filesystem::absolute(pluginLog); if (std::filesystem::exists(log_path)) std::filesystem::remove(log_path); auto logger = std::make_shared(logger_name,std::make_shared( pluginLog, 10 * 1024 * 1024,1)); logger->set_level(spdlog::level::debug); logger->flush_on(spdlog::level::debug); if (registerLog) spdlog::register_logger(logger); gLogger = logger; return logger; } catch (const spdlog::spdlog_ex&) { MessageBoxA(nullptr,("Could not open " + std::string(pluginLog)).c_str(),"Logger Error",MB_ICONERROR | MB_OK); return nullptr; } } inline void LogFixToggle(GameFixes fix, bool fixEnabled) { if (fix == GameFixes::None) { if (gLogger) { if (fixEnabled) gLogger->info("Visual effects enabled individually"); else gLogger->info("All visual effects disabled"); } } if (fix == GameFixes::DOF) if (gLogger) gLogger->info("Depth of field fix {}", fixEnabled ? "enabled" : "disabled"); if (fix == GameFixes::ChromaticAberrations) if (gLogger) gLogger->info("Chromatic aberrations fix {}", fixEnabled ? "enabled" : "disabled"); if (fix == GameFixes::Vignetting) if (gLogger) gLogger->info("Vignetting fix {}", fixEnabled ? "enabled" : "disabled"); if (fix == GameFixes::Fog) if (gLogger) gLogger->info("Fog fix {}", fixEnabled ? "enabled" : "disabled"); }