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
|
namespace
|
||||||
{
|
{
|
||||||
|
const DWORD DISABLE_MAX_WINDOWED_MODE = 12;
|
||||||
|
|
||||||
template <typename Result, typename... Params>
|
template <typename Result, typename... Params>
|
||||||
using FuncPtr = Result(WINAPI*)(Params...);
|
using FuncPtr = Result(WINAPI*)(Params...);
|
||||||
|
|
||||||
@ -162,6 +164,16 @@ namespace
|
|||||||
LOG_INFO << "Environment variable " << var << " = \"" << Dll::getEnvVar(var) << '"';
|
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()
|
void setDpiAwareness()
|
||||||
{
|
{
|
||||||
auto dpiAwareness = Config::dpiAwareness.get();
|
auto dpiAwareness = Config::dpiAwareness.get();
|
||||||
@ -294,6 +306,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
|||||||
Dll::g_jmpTargetProcs = Dll::g_origProcs;
|
Dll::g_jmpTargetProcs = Dll::g_origProcs;
|
||||||
|
|
||||||
VISIT_PUBLIC_DDRAW_PROCS(HOOK_DDRAW_PROC);
|
VISIT_PUBLIC_DDRAW_PROCS(HOOK_DDRAW_PROC);
|
||||||
|
Compat::hookFunction(reinterpret_cast<void*&>(Dll::g_origProcs.SetAppCompatData),
|
||||||
|
static_cast<decltype(&SetAppCompatData)>(&setAppCompatData), "SetAppCompatData");
|
||||||
|
|
||||||
Input::installHooks();
|
Input::installHooks();
|
||||||
Win32::MemoryManagement::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())
|
if (Config::Settings::FullscreenMode::EXCLUSIVE == Config::fullscreenMode.get())
|
||||||
{
|
{
|
||||||
const DWORD disableMaxWindowedMode = 12;
|
CALL_ORIG_PROC(SetAppCompatData)(DISABLE_MAX_WINDOWED_MODE, 1);
|
||||||
CALL_ORIG_PROC(SetAppCompatData)(disableMaxWindowedMode, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config::Settings::DesktopResolution::DESKTOP != Config::desktopResolution.get())
|
if (Config::Settings::DesktopResolution::DESKTOP != Config::desktopResolution.get())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user