summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-07-26 08:22:57 +0300
committerSergeanur <s.anureev@yandex.ua>2021-07-26 08:22:57 +0300
commit123f2fda9bb358fd1fcf56616b1587441494f580 (patch)
tree11742a60fefcb58b40475c5508b2d841abe57289
parent1aac4d802f6cb12c35b877838c425c95fa92aea4 (diff)
Fix ridiculously accurate bullets when you shoot behind with enabled free camera
-rw-r--r--src/weapons/Weapon.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/weapons/Weapon.cpp b/src/weapons/Weapon.cpp
index d4cb1cbe..4fba3c67 100644
--- a/src/weapons/Weapon.cpp
+++ b/src/weapons/Weapon.cpp
@@ -936,6 +936,16 @@ CWeapon::FireInstantHit(CEntity *shooter, CVector *fireSource)
else if ( shooter == FindPlayerPed() && TheCamera.Cams[0].Using3rdPersonMouseCam() )
{
TheCamera.Find3rdPersonCamTargetVector(info->m_fRange, *fireSource, source, target);
+#ifdef FREE_CAM
+ CPed *shooterPed = (CPed *)shooter;
+ if((shooterPed->m_pedIK.m_flags & CPedIK::GUN_POINTED_SUCCESSFULLY) == 0) {
+ target.x = info->m_fRange;
+ target.y = 0.0f;
+ target.z = 0.0f;
+
+ shooterPed->TransformToNode(target, PED_HANDR);
+ }
+#endif
CWorld::bIncludeBikers = true;
CWorld::bIncludeDeadPeds = true;