summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2019-10-26 13:13:00 +0200
committerSergeanur <s.anureev@yandex.ua>2019-10-26 13:13:00 +0200
commitf62555c28ef41eeb663cab2ad4616b3bdc3d0726 (patch)
treeac9f6d52eaafb6e1b0bd0b357d2010ef5aeb1027
parentVisibilityPlugins callbacks and fixes (diff)
downloadre3-f62555c28ef41eeb663cab2ad4616b3bdc3d0726.tar
re3-f62555c28ef41eeb663cab2ad4616b3bdc3d0726.tar.gz
re3-f62555c28ef41eeb663cab2ad4616b3bdc3d0726.tar.bz2
re3-f62555c28ef41eeb663cab2ad4616b3bdc3d0726.tar.lz
re3-f62555c28ef41eeb663cab2ad4616b3bdc3d0726.tar.xz
re3-f62555c28ef41eeb663cab2ad4616b3bdc3d0726.tar.zst
re3-f62555c28ef41eeb663cab2ad4616b3bdc3d0726.zip
-rw-r--r--src/peds/PedIK.cpp10
-rw-r--r--src/peds/PedIK.h9
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);