From 285fee01f2a0e2161ef19d9dbfabb957d1374ab7 Mon Sep 17 00:00:00 2001 From: erorcun Date: Sun, 22 Aug 2021 12:23:12 +0300 Subject: PedIK: fix fix --- src/peds/PedIK.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/peds/PedIK.cpp b/src/peds/PedIK.cpp index 3bc5796b..ea3cf1aa 100644 --- a/src/peds/PedIK.cpp +++ b/src/peds/PedIK.cpp @@ -205,6 +205,8 @@ CPedIK::PointGunInDirection(float targetYaw, float targetPitch) else if (status == ANGLES_SET_EXACTLY) m_flags |= GUN_POINTED_SUCCESSFULLY; } + + // Game uses index 2 directly, which happens to be identical to BONE_spine #ifdef FIX_BUGS RwMatrix *m = GetBoneMatrix(m_ped, BONE_spine); #else @@ -213,7 +215,7 @@ CPedIK::PointGunInDirection(float targetYaw, float targetPitch) RwMatrix *m = &mats[2]; #endif RwV3d axis = { 0.0f, 0.0f, 0.0f }; - float axisangle = -CGeneral::LimitRadianAngle(Atan2(-m->up.y, -m->up.x) - m_ped->m_fRotationCur); + float axisangle = -CGeneral::LimitRadianAngle(Atan2(-m->at.y, -m->at.x) - m_ped->m_fRotationCur); axis.y = -Sin(axisangle); axis.z = Cos(axisangle); -- cgit v1.2.3