mirror of
https://github.com/CookiePLMonster/SilentPatch.git
synced 2024-12-29 15:23:02 +05:00
Fixed crash related to autopilot timing calculations for III
This commit is contained in:
parent
5f78ed97d1
commit
6386e61483
1 changed files with 31 additions and 0 deletions
|
@ -314,6 +314,28 @@ void CarCtrlReInit_SilentPatch()
|
||||||
|
|
||||||
static char aNoDesktopMode[64];
|
static char aNoDesktopMode[64];
|
||||||
|
|
||||||
|
unsigned int __cdecl AutoPilotTimerCalculation_III(unsigned int nTimer, int nScaleFactor, float fScaleCoef)
|
||||||
|
{
|
||||||
|
return nTimer - static_cast<unsigned int>(nScaleFactor * fScaleCoef);
|
||||||
|
}
|
||||||
|
|
||||||
|
void __declspec(naked) AutoPilotTimerFix_III()
|
||||||
|
{
|
||||||
|
_asm {
|
||||||
|
push dword ptr[esp + 0x4]
|
||||||
|
push dword ptr[ebx + 0x10]
|
||||||
|
push eax
|
||||||
|
call AutoPilotTimerCalculation_III
|
||||||
|
add esp, 0xC
|
||||||
|
mov [ebx + 0xC], eax
|
||||||
|
add esp, 0x28
|
||||||
|
pop ebp
|
||||||
|
pop esi
|
||||||
|
pop ebx
|
||||||
|
retn 4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Patch_III_10(const RECT& desktop)
|
void Patch_III_10(const RECT& desktop)
|
||||||
{
|
{
|
||||||
using namespace Memory;
|
using namespace Memory;
|
||||||
|
@ -483,6 +505,9 @@ void Patch_III_10(const RECT& desktop)
|
||||||
Nop(0x581C52, 6);
|
Nop(0x581C52, 6);
|
||||||
Patch<const char*>(0x566A3D, "");
|
Patch<const char*>(0x566A3D, "");
|
||||||
|
|
||||||
|
// Fixed crash related to autopilot timing calculations
|
||||||
|
InjectHook(0x4139B2, AutoPilotTimerFix_III, PATCH_JUMP);
|
||||||
|
|
||||||
|
|
||||||
// Adblocker
|
// Adblocker
|
||||||
#if DISABLE_FLA_DONATION_WINDOW
|
#if DISABLE_FLA_DONATION_WINDOW
|
||||||
|
@ -651,6 +676,9 @@ void Patch_III_11(const RECT& desktop)
|
||||||
Nop(0x581F84, 2);
|
Nop(0x581F84, 2);
|
||||||
Nop(0x581F92, 6);
|
Nop(0x581F92, 6);
|
||||||
Patch<const char*>(0x566B7D, "");
|
Patch<const char*>(0x566B7D, "");
|
||||||
|
|
||||||
|
// Fixed crash related to autopilot timing calculations
|
||||||
|
InjectHook(0x4139B2, AutoPilotTimerFix_III, PATCH_JUMP);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Patch_III_Steam(const RECT& desktop)
|
void Patch_III_Steam(const RECT& desktop)
|
||||||
|
@ -798,6 +826,9 @@ void Patch_III_Steam(const RECT& desktop)
|
||||||
// Radar blips bounds check
|
// Radar blips bounds check
|
||||||
InjectHook(0x4A5632, RadarBoundsCheckCoordBlip, PATCH_JUMP);
|
InjectHook(0x4A5632, RadarBoundsCheckCoordBlip, PATCH_JUMP);
|
||||||
InjectHook(0x4A56D8, RadarBoundsCheckEntityBlip, PATCH_JUMP);
|
InjectHook(0x4A56D8, RadarBoundsCheckEntityBlip, PATCH_JUMP);
|
||||||
|
|
||||||
|
// Fixed crash related to autopilot timing calculations
|
||||||
|
InjectHook(0x4139B2, AutoPilotTimerFix_III, PATCH_JUMP);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||||
|
|
Loading…
Reference in a new issue