| 2520 | } |
| 2521 | |
| 2522 | static void ApplyAutoResolutionClientPatch() |
| 2523 | { |
| 2524 | if (!AutoResolution) return; |
| 2525 | |
| 2526 | DWORD addr_AutoDetectPerformanceSettings = ScanModuleSignature(g_State.GameClient, "83 C4 10 83 F8 01 75 37", "AutoDetectPerformanceSettings", 2); |
| 2527 | DWORD addr_SetQueuedConsoleVariable = ScanModuleSignature(g_State.GameClient, "83 EC 10 56 8B F1 8B 46 ?? 8B 4E ?? 8D 54 24 18", "SetQueuedConsoleVariable"); |
| 2528 | DWORD addr_SetOption = ScanModuleSignature(g_State.GameClient, "51 8B 44 24 14 85 C0 89 0C 24", "SetOption"); |
| 2529 | |
| 2530 | if (addr_AutoDetectPerformanceSettings == 0 || |
| 2531 | addr_SetQueuedConsoleVariable == 0 || |
| 2532 | addr_SetOption == 0) { |
| 2533 | return; |
| 2534 | } |
| 2535 | |
| 2536 | HookHelper::ApplyHook((void*)addr_AutoDetectPerformanceSettings, &AutoDetectPerformanceSettings_Hook, (LPVOID*)&AutoDetectPerformanceSettings); |
| 2537 | HookHelper::ApplyHook((void*)addr_SetQueuedConsoleVariable, &SetQueuedConsoleVariable_Hook, (LPVOID*)&SetQueuedConsoleVariable); |
| 2538 | HookHelper::ApplyHook((void*)addr_SetOption, &SetOption_Hook, (LPVOID*)&SetOption); |
| 2539 | } |
| 2540 | |
| 2541 | static void ApplyKeyboardInputLanguageClientCheck() |
| 2542 | { |
no test coverage detected