diff --git a/GlosSITarget/HidHide.cpp b/GlosSITarget/HidHide.cpp index 52bf1bf..89be22b 100644 --- a/GlosSITarget/HidHide.cpp +++ b/GlosSITarget/HidHide.cpp @@ -102,6 +102,9 @@ void HidHide::hideDevices(const std::filesystem::path& steam_path) whitelist.push_back(path); } } + if (Settings::extendedLogging) { + std::ranges::for_each(whitelist, [](const auto& exe) { spdlog::debug(L"Whitelisted executable: {}", exe); }); + } setAppWhiteList(whitelist); avail_devices_ = GetHidDeviceList(); @@ -127,6 +130,9 @@ void HidHide::hideDevices(const std::filesystem::path& steam_path) setBlacklistDevices(blacklisted_devices_); setActive(true); spdlog::info("Hid Gaming Devices; Enabling Overlay element..."); + if (Settings::extendedLogging) { + std::ranges::for_each(blacklisted_devices_, [](const auto& dev) { spdlog::debug(L"Blacklisted device: {}", dev); }); + } enableOverlayElement(); } closeCtrlDevice(); @@ -186,6 +192,9 @@ void HidHide::enableOverlayElement() if (window_has_focus && (overlay_elem_clock_.getElapsedTime().asSeconds() > OVERLAY_ELEM_REFRESH_INTERVAL_S_)) { openCtrlDevice(); bool hidehide_state_store = hidhide_active_; + if (Settings::extendedLogging) { + spdlog::debug("Refreshing HID devices"); + } if (hidhide_active_) { setActive(false); } @@ -224,6 +233,9 @@ void HidHide::enableOverlayElement() blacklisted_devices_.end()); } setBlacklistDevices(blacklisted_devices_); + if (Settings::extendedLogging) { + std::ranges::for_each(blacklisted_devices_, [](const auto& dev) { spdlog::debug(L"Blacklisted device: {}", dev); }); + } closeCtrlDevice(); } }); @@ -316,6 +328,9 @@ void HidHide::setActive(bool active) return; } hidhide_active_ = active; + if (Settings::extendedLogging) { + spdlog::debug("HidHide State set to {}", active); + } } DWORD HidHide::getRequiredOutputBufferSize(IOCTL_TYPE type) const diff --git a/GlosSITarget/Settings.h b/GlosSITarget/Settings.h index 3b771f9..e62f395 100644 --- a/GlosSITarget/Settings.h +++ b/GlosSITarget/Settings.h @@ -52,6 +52,8 @@ inline struct Controller { bool emulateDS4 = false; } controller; +inline bool extendedLogging = true; + inline std::filesystem::path settings_path_ = ""; inline bool checkIsUwp(const std::wstring& launch_path) @@ -147,6 +149,17 @@ inline void Parse(std::wstring arg1) safeParseValue(controllerConf, "emulateDS4", controller.emulateDS4); } + try { + if (auto extlog = json["extendedLogging"]; extlog.is_boolean()) { + extendedLogging = extlog; + } + } + catch (...) + { + } + + + json_file.close(); // c++ is stupid... @@ -176,6 +189,8 @@ inline void StoreSettings() json["controller"]["allowDesktopConfig"] = controller.allowDesktopConfig; json["controller"]["emulateDS4"] = controller.emulateDS4; + json["extendedLogging"] = extendedLogging; + std::ofstream json_file; json_file.open(settings_path_); if (!json_file.is_open()) { diff --git a/GlosSITarget/SteamOverlayDetector.cpp b/GlosSITarget/SteamOverlayDetector.cpp index 003a1e6..a7e52a2 100644 --- a/GlosSITarget/SteamOverlayDetector.cpp +++ b/GlosSITarget/SteamOverlayDetector.cpp @@ -17,6 +17,8 @@ limitations under the License. #include +#include "Settings.h" + #ifdef _WIN32 #define NOMINMAX #include @@ -44,6 +46,11 @@ void SteamOverlayDetector::update() // okey to use nullptr as hwnd. get EVERY message if (PeekMessage(&msg, nullptr, 0, 0, PM_NOREMOVE)) { // filter out some messages as not all get altered by steam... + + if (Settings::extendedLogging && msg.message != 512) { + spdlog::trace("PeekMessage: Window msg: {}", msg.message); + } + if (msg.message < 1000 && msg.message > 0) { return; } diff --git a/GlosSITarget/TargetWindow.cpp b/GlosSITarget/TargetWindow.cpp index 119c5fd..b411af6 100644 --- a/GlosSITarget/TargetWindow.cpp +++ b/GlosSITarget/TargetWindow.cpp @@ -259,12 +259,21 @@ void TargetWindow::createWindow(bool window_mode) // as a workaround, start in full size, and scale down later... spdlog::info("Creating Overlay window (Borderless Fullscreen)..."); window_.create(sf::VideoMode(desktop_mode.width -1, desktop_mode.height -1, 32), "GlosSITarget", sf::Style::None); + + // get size of all monitors combined + const auto screenWidth = GetSystemMetrics(SM_CXVIRTUALSCREEN); + const auto screenHeight = GetSystemMetrics(SM_CYVIRTUALSCREEN); + spdlog::debug("Full screen size: {}x{}", screenWidth, screenHeight); + + spdlog::debug("Primary monitor size: {}x{}", desktop_mode.width, desktop_mode.height); + #else window_.create(desktop_mode, "GlosSITarget", sf::Style::None); #endif windowed_ = false; } window_.setActive(true); + spdlog::debug("Window position: {}x{}", window_.getPosition().x, window_.getPosition().y); #ifdef _WIN32 HWND hwnd = window_.getSystemHandle();