@@ -206,10 +206,17 @@ void __cdecl NATIVE_SET_CAM_FOV(int cam, float targetFOV)
206206}
207207
208208injector::hook_back<decltype (&Natives::SlideObject)> hbSLIDE_OBJECT;
209- bool __cdecl NATIVE_SLIDE_OBJECT (Object object, float toX , float toY , float toZ , float speedX , float speedY , float speedZ, char collision )
209+ bool __cdecl NATIVE_SLIDE_OBJECT_1 (Object object, float x , float y , float z , float xs , float ys , float zs, bool flag )
210210{
211211 float delta = *CTimer::fTimeStep * 30 .0f ;
212- return hbSLIDE_OBJECT.fun (object, toX, toY, toZ, speedX * delta, speedY * delta, speedZ * delta, collision);
212+ return hbSLIDE_OBJECT.fun (object, x, y, z, xs * delta, ys * delta, zs * delta, flag);
213+ }
214+
215+ SafetyHookInline shNATIVE_SLIDE_OBJECT{};
216+ bool __cdecl NATIVE_SLIDE_OBJECT_2 (Object object, float x, float y, float z, float xs, float ys, float zs, bool flag)
217+ {
218+ float delta = *CTimer::fTimeStep * 30 .0f ;
219+ return shNATIVE_SLIDE_OBJECT.unsafe_ccall <bool >(object, x, y, z, xs * delta, ys * delta, zs * delta, flag);
213220}
214221
215222class FramerateVigilante
@@ -356,9 +363,12 @@ public:
356363
357364 // Natives
358365 hbSET_CAM_FOV.fun = NativeOverride::Register (Natives::NativeHashes::SET_CAM_FOV, NATIVE_SET_CAM_FOV, " E8 ? ? ? ? 83 C4 08 C3" , 30 );
359- hbSLIDE_OBJECT.fun = NativeOverride::Register (Natives::NativeHashes::SLIDE_OBJECT, NATIVE_SLIDE_OBJECT , " E8 ? ? ? ? 0F B6 C8" , 107 );
366+ hbSLIDE_OBJECT.fun = NativeOverride::Register (Natives::NativeHashes::SLIDE_OBJECT, NATIVE_SLIDE_OBJECT_1 , " E8 ? ? ? ? 0F B6 C8" , 107 );
360367 if (!hbSLIDE_OBJECT.fun )
361- hbSLIDE_OBJECT.fun = NativeOverride::Register (Natives::NativeHashes::SLIDE_OBJECT, NATIVE_SLIDE_OBJECT, " E8 ? ? ? ? 83 C4 ? C3" , 30 );
368+ {
369+ pattern = hook::pattern (" 55 8B EC 83 E4 F0 8B 45 08 8B 0D ? ? ? ? 81 EC ? ? ? ? 56 50" );
370+ shNATIVE_SLIDE_OBJECT = safetyhook::create_inline (pattern.get_first (0 ), NATIVE_SLIDE_OBJECT_2);
371+ }
362372
363373 // CCamFollowVehicle
364374 pattern = find_pattern (" 77 ? 0F 28 C2 F3 0F 5C 8F" , " 77 ? 0F 28 D3 F3 0F 10 8E" );
0 commit comments