mirror of
https://github.com/narzoul/DDrawCompat
synced 2024-12-30 08:55:36 +01:00
Suppress the DXPrimaryEmulation -DisableMaxWindowedMode shim
This commit is contained in:
parent
dbb2a0c4f1
commit
4a40d97fe9
@ -35,6 +35,8 @@ HRESULT WINAPI SetAppCompatData(DWORD, DWORD);
|
||||
|
||||
namespace
|
||||
{
|
||||
const DWORD DISABLE_MAX_WINDOWED_MODE = 12;
|
||||
|
||||
template <typename Result, typename... Params>
|
||||
using FuncPtr = Result(WINAPI*)(Params...);
|
||||
|
||||
@ -162,6 +164,16 @@ namespace
|
||||
LOG_INFO << "Environment variable " << var << " = \"" << Dll::getEnvVar(var) << '"';
|
||||
}
|
||||
|
||||
HRESULT WINAPI setAppCompatData(DWORD param1, DWORD param2)
|
||||
{
|
||||
LOG_FUNC("SetAppCompatData", param1, param2);
|
||||
if (DISABLE_MAX_WINDOWED_MODE == param1)
|
||||
{
|
||||
return LOG_RESULT(S_OK);
|
||||
}
|
||||
return LOG_RESULT(CALL_ORIG_PROC(SetAppCompatData)(param1, param2));
|
||||
}
|
||||
|
||||
void setDpiAwareness()
|
||||
{
|
||||
auto dpiAwareness = Config::dpiAwareness.get();
|
||||
@ -294,6 +306,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||
Dll::g_jmpTargetProcs = Dll::g_origProcs;
|
||||
|
||||
VISIT_PUBLIC_DDRAW_PROCS(HOOK_DDRAW_PROC);
|
||||
Compat::hookFunction(reinterpret_cast<void*&>(Dll::g_origProcs.SetAppCompatData),
|
||||
static_cast<decltype(&SetAppCompatData)>(&setAppCompatData), "SetAppCompatData");
|
||||
|
||||
Input::installHooks();
|
||||
Win32::MemoryManagement::installHooks();
|
||||
@ -310,8 +324,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||
|
||||
if (Config::Settings::FullscreenMode::EXCLUSIVE == Config::fullscreenMode.get())
|
||||
{
|
||||
const DWORD disableMaxWindowedMode = 12;
|
||||
CALL_ORIG_PROC(SetAppCompatData)(disableMaxWindowedMode, 0);
|
||||
CALL_ORIG_PROC(SetAppCompatData)(DISABLE_MAX_WINDOWED_MODE, 1);
|
||||
}
|
||||
|
||||
if (Config::Settings::DesktopResolution::DESKTOP != Config::desktopResolution.get())
|
||||
|
Loading…
x
Reference in New Issue
Block a user