mirror of
https://github.com/CookiePLMonster/SilentPatch.git
synced 2025-01-30 14:37:28 +05:00
Add wind animations when driving a Quadbike
Contributed by Wesser
This commit is contained in:
parent
2af4ec8e06
commit
2c8961c0d1
3 changed files with 25 additions and 1 deletions
|
@ -4295,6 +4295,12 @@ void Patch_SA_10()
|
|||
Patch<const char*>( 0x5593E4 + 1, "%.0fkgs" );
|
||||
|
||||
|
||||
// Add wind animations when driving a Quadbike
|
||||
// By Wesser
|
||||
InjectHook(0x5E69BC, &CVehicle::IsOpenTopCarOrQuadbike, PATCH_CALL);
|
||||
Nop(0x5E69BC + 5, 3);
|
||||
|
||||
|
||||
#if FULL_PRECISION_D3D
|
||||
// Test - full precision D3D device
|
||||
Patch<uint8_t>( 0x7F672B+1, *(uint8_t*)(0x7F672B+1) | D3DCREATE_FPU_PRESERVE );
|
||||
|
@ -5797,6 +5803,17 @@ void Patch_SA_NewBinaries_Common()
|
|||
ReadCall( getPad, orgGetPad );
|
||||
InjectHook( getPad, getPadAndSetFlag );
|
||||
}
|
||||
|
||||
|
||||
// Add wind animations when driving a Quadbike
|
||||
// By Wesser
|
||||
{
|
||||
auto isOpenTopCar = pattern("8B 11 8B 82 9C 00 00 00 FF D0").get_one();
|
||||
|
||||
InjectHook(isOpenTopCar.get<void>(), &CVehicle::IsOpenTopCarOrQuadbike, PATCH_CALL);
|
||||
Nop(isOpenTopCar.get<void>(5), 5);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -101,6 +101,11 @@ bool CVehicle::IgnoresRotorFix() const
|
|||
return SVF::ModelHasFeature( m_nModelIndex.Get(), SVF::Feature::_INTERNAL_NO_ROTOR_FADE );
|
||||
}
|
||||
|
||||
bool CVehicle::IsOpenTopCarOrQuadbike() const
|
||||
{
|
||||
return IsOpenTopCar() || m_dwVehicleSubClass == VEHICLE_QUAD;
|
||||
}
|
||||
|
||||
static void* varVehicleRender = AddressByVersion<void*>(0x6D0E60, 0x6D1680, 0x70C0B0);
|
||||
WRAPPER void CVehicle::Render() { VARJMP(varVehicleRender); }
|
||||
static void* varIsLawEnforcementVehicle = AddressByVersion<void*>(0x6D2370, 0x6D2BA0, 0x70D8C0);
|
||||
|
|
|
@ -221,7 +221,7 @@ public:
|
|||
virtual bool IsDoorMissing(unsigned int door);
|
||||
virtual bool IsDoorMissing(eDoors door);
|
||||
// check if car has roof as extra
|
||||
virtual bool IsOpenTopCar();
|
||||
virtual bool IsOpenTopCar() const;
|
||||
// remove ref to this entity
|
||||
virtual void RemoveRefsToVehicle(CEntity* entity);
|
||||
virtual void BlowUpCar(CEntity* damager, unsigned char bHideExplosion);
|
||||
|
@ -279,6 +279,8 @@ public:
|
|||
bool IgnoresLightbeamFix() const;
|
||||
bool IgnoresRotorFix() const;
|
||||
|
||||
bool IsOpenTopCarOrQuadbike() const;
|
||||
|
||||
void DoHeadLightBeam( int type, CMatrix& m, bool right )
|
||||
{
|
||||
std::invoke( orgDoHeadLightBeam, this, type, m, right );
|
||||
|
|
Loading…
Reference in a new issue