diff --git a/Common/LogManager.cpp b/Common/LogManager.cpp index c1eef5d2fb..89dee6720e 100644 --- a/Common/LogManager.cpp +++ b/Common/LogManager.cpp @@ -21,16 +21,18 @@ #include #include "util/text/utf8.h" -#include "LogManager.h" -#include "ConsoleListener.h" -#include "Timer.h" -#include "FileUtil.h" -#include "StringUtils.h" -#include "Core/Config.h" + +#include "Common/LogManager.h" +#include "Common/ConsoleListener.h" +#include "Common/Timer.h" +#include "Common/FileUtil.h" +#include "Common/StringUtils.h" // Don't need to savestate this. const char *hleCurrentThreadName = nullptr; +bool *g_bLogEnabledSetting = nullptr; + static const char level_to_char[8] = "-NEWIDV"; #if PPSSPP_PLATFORM(UWP) && defined(_DEBUG) @@ -40,7 +42,7 @@ static const char level_to_char[8] = "-NEWIDV"; #endif void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type, const char *file, int line, const char* fmt, ...) { - if (!g_Config.bEnableLogging) + if (g_bLogEnabledSetting && !(*g_bLogEnabledSetting)) return; va_list args; va_start(args, fmt); @@ -56,7 +58,7 @@ void GenericLog(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type, const char bool GenericLogEnabled(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type) { if (LogManager::GetInstance()) - return g_Config.bEnableLogging && LogManager::GetInstance()->IsEnabled(level, type); + return (*g_bLogEnabledSetting) && LogManager::GetInstance()->IsEnabled(level, type); return false; } @@ -116,7 +118,9 @@ static const LogNameTableEntry logTable[] = { {LogTypes::SCEMISC, "SCEMISC"}, }; -LogManager::LogManager() { +LogManager::LogManager(bool *enabledSetting) { + g_bLogEnabledSetting = enabledSetting; + for (size_t i = 0; i < ARRAY_SIZE(logTable); i++) { _assert_msg_(i == logTable[i].logType, "Bad logtable at %i", (int)i); truncate_cpy(log_[logTable[i].logType].m_shortName, logTable[i].name); @@ -271,8 +275,8 @@ bool LogManager::IsEnabled(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type) return true; } -void LogManager::Init() { - logManager_ = new LogManager(); +void LogManager::Init(bool *enabledSetting) { + logManager_ = new LogManager(enabledSetting); } void LogManager::Shutdown() { diff --git a/Common/LogManager.h b/Common/LogManager.h index a9d5a568e9..6aaa69b462 100644 --- a/Common/LogManager.h +++ b/Common/LogManager.h @@ -105,7 +105,7 @@ class ConsoleListener; class LogManager { private: - LogManager(); + LogManager(bool *enabledSetting); ~LogManager(); // Prevent copies. @@ -122,6 +122,7 @@ private: std::mutex log_lock_; std::mutex listeners_lock_; std::vector listeners_; + public: void AddListener(LogListener *listener); void RemoveListener(LogListener *listener); @@ -175,7 +176,7 @@ public: logManager_ = logManager; } - static void Init(); + static void Init(bool *enabledSetting); static void Shutdown(); void ChangeFileLog(const char *filename); diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp index 4c3559d030..00d37db957 100644 --- a/UI/NativeApp.cpp +++ b/UI/NativeApp.cpp @@ -531,7 +531,7 @@ void NativeInit(int argc, const char *argv[], const char *savegame_dir, const ch } if (!LogManager::GetInstance()) - LogManager::Init(); + LogManager::Init(&g_Config.bEnableLogging); #ifndef _WIN32 g_Config.AddSearchPath(user_data_path); diff --git a/UWP/PPSSPP_UWPMain.cpp b/UWP/PPSSPP_UWPMain.cpp index 07a136c69f..5711ae0b29 100644 --- a/UWP/PPSSPP_UWPMain.cpp +++ b/UWP/PPSSPP_UWPMain.cpp @@ -10,6 +10,7 @@ #include "Common/LogManager.h" #include "Core/System.h" #include "Core/Loaders.h" +#include "Core/Config.h" #include "base/NativeApp.h" #include "base/timeutil.h" #include "input/input_state.h" @@ -100,7 +101,7 @@ PPSSPP_UWPMain::PPSSPP_UWPMain(App ^app, const std::shared_ptr (b)); -#define CHECK_GE(a, b) CHECK((a) >= (b)); -#define CHECK_LT(a, b) CHECK((a) < (b)); -#define CHECK_LE(a, b) CHECK((a) <= (b)); diff --git a/ext/native/tools/atlastool/atlastool.vcxproj b/ext/native/tools/atlastool/atlastool.vcxproj index 60613f1c54..805700c863 100644 --- a/ext/native/tools/atlastool/atlastool.vcxproj +++ b/ext/native/tools/atlastool/atlastool.vcxproj @@ -81,7 +81,7 @@ Console true ../prebuilt/win64 - freetype.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + winmm.lib;freetype.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -97,6 +97,7 @@ true ../../../../;../../ext;../../;../../../../ext;../prebuilt MultiThreaded + false Console @@ -104,7 +105,7 @@ true true ../prebuilt/win64 - freetype.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + winmm.lib;freetype.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) diff --git a/ext/native/tools/zimtool/zimtool.vcxproj b/ext/native/tools/zimtool/zimtool.vcxproj index 3c9e0d3c2d..1eecf94c3f 100644 --- a/ext/native/tools/zimtool/zimtool.vcxproj +++ b/ext/native/tools/zimtool/zimtool.vcxproj @@ -84,6 +84,7 @@ true true true + winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) @@ -101,6 +102,7 @@ Console true + winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) diff --git a/headless/Headless.cpp b/headless/Headless.cpp index 77af343446..4e0cee7457 100644 --- a/headless/Headless.cpp +++ b/headless/Headless.cpp @@ -335,7 +335,7 @@ int main(int argc, const char* argv[]) GraphicsContext *graphicsContext = nullptr; bool glWorking = host->InitGraphics(&error_string, &graphicsContext); - LogManager::Init(); + LogManager::Init(&g_Config.bEnableLogging); LogManager *logman = LogManager::GetInstance(); PrintfLogger *printfLogger = new PrintfLogger(); diff --git a/libretro/libretro.cpp b/libretro/libretro.cpp index 497cbae28d..2b61b9f550 100644 --- a/libretro/libretro.cpp +++ b/libretro/libretro.cpp @@ -358,7 +358,7 @@ void retro_init(void) g_Config.iFirmwareVersion = PSP_DEFAULT_FIRMWARE; g_Config.iPSPModel = PSP_MODEL_SLIM; - LogManager::Init(); + LogManager::Init(&g_Config.bEnableLogging); host = new LibretroHost;