From d5eb6667a98fd24bb55d7274999af177f45e0bdc Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Wed, 17 Aug 2022 00:12:17 +0000 Subject: [PATCH] steamcompmgr: Handle LAYERED win32 windows The Launcher in Witcher 2 (20920) has a clear window with WS_EX_LAYERED on top of it. Layered windows are windows that are meant to be transparent with alpha blending + visual fx. https://docs.microsoft.com/en-us/windows/win32/winmsg/window-features --- src/steamcompmgr.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/steamcompmgr.cpp b/src/steamcompmgr.cpp index 46a36b6..1a96a34 100644 --- a/src/steamcompmgr.cpp +++ b/src/steamcompmgr.cpp @@ -2093,6 +2093,17 @@ win_maybe_a_dropdown( win *w ) if ( w->appID == 219890 ) return false; + // The Launcher in Witcher 2 (20920) has a clear window with WS_EX_LAYERED on top of it. + // + // Layered windows are windows that are meant to be transparent + // with alpha blending + visual fx. + // https://docs.microsoft.com/en-us/windows/win32/winmsg/window-features + // + // TODO: Come back to me for original Age of Empires HD launcher. + // Does that use it? It wants blending! + if ( w->hasHwndStyleEx && ( w->hwndStyleEx & WS_EX_LAYERED ) ) + return true; + // Josh: // The logic here is as follows. The window will be treated as a dropdown if: //