mirror of
https://github.com/CookiePLMonster/SilentPatch.git
synced 2025-01-01 08:43:01 +05:00
Fixed crash related to autopilot timing calculations for VC
This commit is contained in:
parent
c81ab5f3f9
commit
5f78ed97d1
1 changed files with 30 additions and 0 deletions
|
@ -192,6 +192,27 @@ void GaragesInit_SilentPatch()
|
||||||
|
|
||||||
static char aNoDesktopMode[64];
|
static char aNoDesktopMode[64];
|
||||||
|
|
||||||
|
unsigned int __cdecl AutoPilotTimerCalculation_VC(unsigned int nTimer, int nScaleFactor, float fScaleCoef)
|
||||||
|
{
|
||||||
|
return nTimer - static_cast<unsigned int>(nScaleFactor * fScaleCoef);
|
||||||
|
}
|
||||||
|
|
||||||
|
void __declspec(naked) AutoPilotTimerFix_VC()
|
||||||
|
{
|
||||||
|
_asm {
|
||||||
|
push dword ptr[esp + 0xC]
|
||||||
|
push dword ptr[ebx + 0x10]
|
||||||
|
push eax
|
||||||
|
call AutoPilotTimerCalculation_VC
|
||||||
|
add esp, 0xC
|
||||||
|
mov [ebx + 0xC], eax
|
||||||
|
add esp, 0x30
|
||||||
|
pop ebp
|
||||||
|
pop ebx
|
||||||
|
retn 4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Patch_VC_10(const RECT& desktop)
|
void Patch_VC_10(const RECT& desktop)
|
||||||
{
|
{
|
||||||
using namespace Memory;
|
using namespace Memory;
|
||||||
|
@ -329,6 +350,9 @@ void Patch_VC_10(const RECT& desktop)
|
||||||
Patch<BYTE>(0x4AED14+1, 1); // katana
|
Patch<BYTE>(0x4AED14+1, 1); // katana
|
||||||
Patch<BYTE>(0x4AEB74+1, 1); // chainsaw
|
Patch<BYTE>(0x4AEB74+1, 1); // chainsaw
|
||||||
|
|
||||||
|
// Fixed crash related to autopilot timing calculations
|
||||||
|
InjectHook(0x418FAE, AutoPilotTimerFix_VC, PATCH_JUMP);
|
||||||
|
|
||||||
|
|
||||||
// Adblocker
|
// Adblocker
|
||||||
#if DISABLE_FLA_DONATION_WINDOW
|
#if DISABLE_FLA_DONATION_WINDOW
|
||||||
|
@ -477,6 +501,9 @@ void Patch_VC_11(const RECT& desktop)
|
||||||
// Fixed ammo for melee weapons in cheats
|
// Fixed ammo for melee weapons in cheats
|
||||||
Patch<BYTE>(0x4AED34+1, 1); // katana
|
Patch<BYTE>(0x4AED34+1, 1); // katana
|
||||||
Patch<BYTE>(0x4AEB94+1, 1); // chainsaw
|
Patch<BYTE>(0x4AEB94+1, 1); // chainsaw
|
||||||
|
|
||||||
|
// Fixed crash related to autopilot timing calculations
|
||||||
|
InjectHook(0x418FAE, AutoPilotTimerFix_VC, PATCH_JUMP);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Patch_VC_Steam(const RECT& desktop)
|
void Patch_VC_Steam(const RECT& desktop)
|
||||||
|
@ -615,6 +642,9 @@ void Patch_VC_Steam(const RECT& desktop)
|
||||||
// Fixed ammo for melee weapons in cheats
|
// Fixed ammo for melee weapons in cheats
|
||||||
Patch<BYTE>(0x4AEA44+1, 1); // katana
|
Patch<BYTE>(0x4AEA44+1, 1); // katana
|
||||||
Patch<BYTE>(0x4AEBE4+1, 1); // chainsaw
|
Patch<BYTE>(0x4AEBE4+1, 1); // chainsaw
|
||||||
|
|
||||||
|
// Fixed crash related to autopilot timing calculations
|
||||||
|
InjectHook(0x418FAE, AutoPilotTimerFix_VC, PATCH_JUMP);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Patch_VC_JP()
|
void Patch_VC_JP()
|
||||||
|
|
Loading…
Reference in a new issue