diff options
author | Sergeanur <s.anureev@yandex.ua> | 2021-08-21 12:25:42 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2021-08-21 12:25:42 +0200 |
commit | e0be6beb18e55338cda7a613bb9b8df798c81b17 (patch) | |
tree | 22514458646c67c2981ea368b00d474a50b4de86 /src/peds/PedIK.cpp | |
parent | car ctrl fixes (diff) | |
parent | Remove cMissionAudio, move cAMCrime array outside of cPoliceRadioQueue (R* vision) (diff) | |
download | re3-e0be6beb18e55338cda7a613bb9b8df798c81b17.tar re3-e0be6beb18e55338cda7a613bb9b8df798c81b17.tar.gz re3-e0be6beb18e55338cda7a613bb9b8df798c81b17.tar.bz2 re3-e0be6beb18e55338cda7a613bb9b8df798c81b17.tar.lz re3-e0be6beb18e55338cda7a613bb9b8df798c81b17.tar.xz re3-e0be6beb18e55338cda7a613bb9b8df798c81b17.tar.zst re3-e0be6beb18e55338cda7a613bb9b8df798c81b17.zip |
Diffstat (limited to 'src/peds/PedIK.cpp')
-rw-r--r-- | src/peds/PedIK.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/peds/PedIK.cpp b/src/peds/PedIK.cpp index cf2e4ed5..3bc5796b 100644 --- a/src/peds/PedIK.cpp +++ b/src/peds/PedIK.cpp @@ -205,9 +205,15 @@ CPedIK::PointGunInDirection(float targetYaw, float targetPitch) else if (status == ANGLES_SET_EXACTLY) m_flags |= GUN_POINTED_SUCCESSFULLY; } - RwMatrix *m = GetBoneMatrix(m_ped, BONE_spine); // BUG: game uses index 2 directly, which happens to be identical to BONE_spine +#ifdef FIX_BUGS + RwMatrix *m = GetBoneMatrix(m_ped, BONE_spine); +#else + RpHAnimHierarchy* hier = GetAnimHierarchyFromSkinClump(m_ped->GetClump()); + RwMatrix *mats = RpHAnimHierarchyGetMatrixArray(hier); + RwMatrix *m = &mats[2]; +#endif RwV3d axis = { 0.0f, 0.0f, 0.0f }; - float axisangle = -CGeneral::LimitRadianAngle(Atan2(-m->at.y, -m->at.x) - m_ped->m_fRotationCur); + float axisangle = -CGeneral::LimitRadianAngle(Atan2(-m->up.y, -m->up.x) - m_ped->m_fRotationCur); axis.y = -Sin(axisangle); axis.z = Cos(axisangle); |