From f62555c28ef41eeb663cab2ad4616b3bdc3d0726 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Sat, 26 Oct 2019 14:13:00 +0300 Subject: [PATCH] CPedIK limb movement info reversed --- src/peds/PedIK.cpp | 10 +++++----- src/peds/PedIK.h | 9 +++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/peds/PedIK.cpp b/src/peds/PedIK.cpp index 4912da97..86f1bf1e 100644 --- a/src/peds/PedIK.cpp +++ b/src/peds/PedIK.cpp @@ -10,11 +10,11 @@ WRAPPER void CPedIK::ExtractYawAndPitchLocal(RwMatrixTag*, float*, float*) { EAX WRAPPER void CPedIK::ExtractYawAndPitchWorld(RwMatrixTag*, float*, float*) { EAXJMP(0x4ED140); } WRAPPER bool CPedIK::RestoreLookAt(void) { EAXJMP(0x4ED810); } -// TODO: These are hardcoded into exe, reverse it. -LimbMovementInfo &CPedIK::ms_torsoInfo = *(LimbMovementInfo*)0x5F9F8C; -LimbMovementInfo &CPedIK::ms_headInfo = *(LimbMovementInfo*)0x5F9F5C; -LimbMovementInfo &CPedIK::ms_upperArmInfo = *(LimbMovementInfo*)0x5F9FA4; -LimbMovementInfo &CPedIK::ms_lowerArmInfo = *(LimbMovementInfo*)0x5F9FBC; +LimbMovementInfo CPedIK::ms_torsoInfo = { DEGTORAD(50.0f), DEGTORAD(-50.0f), DEGTORAD(15.0f), DEGTORAD(45.0f), DEGTORAD(-45.0f), DEGTORAD(7.0f) }; +LimbMovementInfo CPedIK::ms_headInfo = { DEGTORAD(90.0f), DEGTORAD(-90.0f), DEGTORAD(10.0f), DEGTORAD(45.0f), DEGTORAD(-45.0f), DEGTORAD(5.0f) }; +LimbMovementInfo CPedIK::ms_headRestoreInfo = { DEGTORAD(90.0f), DEGTORAD(-90.0f), DEGTORAD(10.0f), DEGTORAD(45.0f), DEGTORAD(-45.0f), DEGTORAD(5.0f) }; +LimbMovementInfo CPedIK::ms_upperArmInfo = { DEGTORAD(20.0f), DEGTORAD(-100.0f), DEGTORAD(20.0f), DEGTORAD(70.0f), DEGTORAD(-70.0f), DEGTORAD(10.0f) }; +LimbMovementInfo CPedIK::ms_lowerArmInfo = { DEGTORAD(80.0f), DEGTORAD(0.0f), DEGTORAD(20.0f), DEGTORAD(90.0f), DEGTORAD(-90.0f), DEGTORAD(5.0f) }; CPedIK::CPedIK(CPed *ped) { diff --git a/src/peds/PedIK.h b/src/peds/PedIK.h index c1600ebb..be063003 100644 --- a/src/peds/PedIK.h +++ b/src/peds/PedIK.h @@ -42,10 +42,11 @@ public: LimbOrientation m_lowerArmOrient; int32 m_flags; - static LimbMovementInfo &ms_torsoInfo; - static LimbMovementInfo &ms_headInfo; - static LimbMovementInfo &ms_upperArmInfo; - static LimbMovementInfo &ms_lowerArmInfo; + static LimbMovementInfo ms_torsoInfo; + static LimbMovementInfo ms_headInfo; + static LimbMovementInfo ms_headRestoreInfo; + static LimbMovementInfo ms_upperArmInfo; + static LimbMovementInfo ms_lowerArmInfo; CPedIK(CPed *ped); bool PointGunInDirection(float phi, float theta);