diff --git a/SAFix/SilentPatchSA.cpp b/SAFix/SilentPatchSA.cpp index 87f0406..fe824fe 100644 --- a/SAFix/SilentPatchSA.cpp +++ b/SAFix/SilentPatchSA.cpp @@ -1430,7 +1430,7 @@ __forceinline void Patch_SA_10() // but not on Vortex Patch(0x6CABD0, 0xEB); Patch(0x6CAC05, 0x5E5FCF8B); - InjectHook(0x6CAC09, &CAutomobile::Fix_SilentPatch, PATCH_JUMP); + InjectHook(0x6CAC09, &CPlane::Fix_SilentPatch, PATCH_JUMP); // Zones fix diff --git a/SAFix/VehicleSA.cpp b/SAFix/VehicleSA.cpp index 61713bf..0cd0867 100644 --- a/SAFix/VehicleSA.cpp +++ b/SAFix/VehicleSA.cpp @@ -220,6 +220,18 @@ void CPlane::Render() CVehicle::Render(); } +void CPlane::Fix_SilentPatch() +{ + // Reset bouncing panels + for ( int i = 0; i < 3; i++ ) + { + // No reset on Vortex + if ( i == 0 && m_nModelIndex == 539 ) + continue; + m_aBouncingPanel[i].m_nNodeIndex = -1; + } +} + void CAutomobile::Fix_SilentPatch() { ResetFrames(); @@ -228,8 +240,7 @@ void CAutomobile::Fix_SilentPatch() for ( int i = 0; i < 3; i++ ) { // Towtruck/Tractor fix - // + no reset on Vortex - if ( i == 0 && ((m_nModelIndex == 525 && m_pCarNode[21]) || (m_nModelIndex == 531 && m_pCarNode[17]) || m_nModelIndex == 539) ) + if ( i == 0 && ((m_nModelIndex == 525 && m_pCarNode[21]) || (m_nModelIndex == 531 && m_pCarNode[17])) ) continue; m_aBouncingPanel[i].m_nNodeIndex = -1; } diff --git a/SAFix/VehicleSA.h b/SAFix/VehicleSA.h index dea07a7..d11059d 100644 --- a/SAFix/VehicleSA.h +++ b/SAFix/VehicleSA.h @@ -164,6 +164,8 @@ public: { CPlane::Render(); } virtual void Render() override; + + void Fix_SilentPatch(); }; static_assert(sizeof(CBouncingPanel) == 0x20, "Wrong size: CBouncingPanel");