diff options
author | aap <aap@papnet.eu> | 2020-05-09 17:05:26 +0200 |
---|---|---|
committer | aap <aap@papnet.eu> | 2020-05-09 17:05:26 +0200 |
commit | 97d5698e0c669fd98911991b2ce3042fce376f06 (patch) | |
tree | 925f3f75e2b7d643fb7484018d484edc6a1e73d5 /src/peds/PedIK.cpp | |
parent | removed cutscene heads (diff) | |
download | re3-97d5698e0c669fd98911991b2ce3042fce376f06.tar re3-97d5698e0c669fd98911991b2ce3042fce376f06.tar.gz re3-97d5698e0c669fd98911991b2ce3042fce376f06.tar.bz2 re3-97d5698e0c669fd98911991b2ce3042fce376f06.tar.lz re3-97d5698e0c669fd98911991b2ce3042fce376f06.tar.xz re3-97d5698e0c669fd98911991b2ce3042fce376f06.tar.zst re3-97d5698e0c669fd98911991b2ce3042fce376f06.zip |
Diffstat (limited to '')
-rw-r--r-- | src/peds/PedIK.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/peds/PedIK.cpp b/src/peds/PedIK.cpp index 3db3dc0f..0c7509eb 100644 --- a/src/peds/PedIK.cpp +++ b/src/peds/PedIK.cpp @@ -33,13 +33,18 @@ CPedIK::CPedIK(CPed *ped) #ifdef PED_SKIN inline RwMatrix* -GetComponentMatrix(CPed *ped, int32 node) +GetBoneMatrix(CPed *ped, int32 bone) { RpHAnimHierarchy *hier = GetAnimHierarchyFromSkinClump(ped->GetClump()); - int idx = RpHAnimIDGetIndex(hier, ped->m_pFrames[node]->nodeID); + int idx = RpHAnimIDGetIndex(hier, bone); RwMatrix *mats = RpHAnimHierarchyGetMatrixArray(hier); return &mats[idx]; } +inline RwMatrix* +GetComponentMatrix(CPed *ped, int32 node) +{ + return GetBoneMatrix(ped, ped->m_pFrames[node]->nodeID); +} #endif void @@ -245,7 +250,7 @@ CPedIK::LookInDirection(float phi, float theta) } // parent of head is torso - RwMatrix worldMat = *GetComponentMatrix(m_ped, BONE_torso); + RwMatrix worldMat = *GetComponentMatrix(m_ped, PED_NECK); ExtractYawAndPitchWorld(&worldMat, &yaw, &pitch); LimbMoveStatus headStatus = MoveLimb(m_headOrient, CGeneral::LimitRadianAngle(phi - yaw), |