diff options
author | Sergeanur <s.anureev@yandex.ua> | 2021-07-27 19:58:17 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2021-07-27 19:58:17 +0200 |
commit | 6dc8c5bd92dc031afa3ba9b6e1149dbbba338598 (patch) | |
tree | b91cd2317cef091e9321b44157ef519f33bfbc45 /src/peds/PlayerPed.cpp | |
parent | Law enforcers and generic female ped comments (diff) | |
parent | Fix stuck looking flag when answering phone and idle weapon animation (diff) | |
download | re3-6dc8c5bd92dc031afa3ba9b6e1149dbbba338598.tar re3-6dc8c5bd92dc031afa3ba9b6e1149dbbba338598.tar.gz re3-6dc8c5bd92dc031afa3ba9b6e1149dbbba338598.tar.bz2 re3-6dc8c5bd92dc031afa3ba9b6e1149dbbba338598.tar.lz re3-6dc8c5bd92dc031afa3ba9b6e1149dbbba338598.tar.xz re3-6dc8c5bd92dc031afa3ba9b6e1149dbbba338598.tar.zst re3-6dc8c5bd92dc031afa3ba9b6e1149dbbba338598.zip |
Diffstat (limited to 'src/peds/PlayerPed.cpp')
-rw-r--r-- | src/peds/PlayerPed.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/peds/PlayerPed.cpp b/src/peds/PlayerPed.cpp index 047eae10..88c1e6bf 100644 --- a/src/peds/PlayerPed.cpp +++ b/src/peds/PlayerPed.cpp @@ -574,8 +574,12 @@ CPlayerPed::DoWeaponSmoothSpray(void) return -1.0f; case WEAPONTYPE_CHAINSAW: - if (GetMeleeStartAnim(weaponInfo) && RpAnimBlendClumpGetAssociation(GetClump(), GetMeleeStartAnim(weaponInfo))) + if (GetMeleeStartAnim(weaponInfo) && RpAnimBlendClumpGetAssociation(GetClump(), GetMeleeStartAnim(weaponInfo))) { +#ifdef FREE_CAM + if (TheCamera.Cams[0].Using3rdPersonMouseCam()) return -1.0f; +#endif return PI / 128.0f; + } else if (GetFireAnimGround(weaponInfo, false) && RpAnimBlendClumpGetAssociation(GetClump(), GetFireAnimGround(weaponInfo, false))) return PI / 176.f; else @@ -1222,11 +1226,21 @@ CPlayerPed::ProcessPlayerWeapon(CPad *padUsed) } if (padUsed->DuckJustDown() && !bIsDucking && m_nMoveState != PEDMOVE_SPRINT) { +#ifdef FIX_BUGS + // fix tommy being locked into looking at the same spot if you duck just after starting to shoot + if(!m_pPointGunAt) + ClearPointGunAt(); +#endif bCrouchWhenShooting = true; SetDuck(60000, true); } else if (bIsDucking && (padUsed->DuckJustDown() || m_nMoveState == PEDMOVE_SPRINT || padUsed->GetSprint() || padUsed->JumpJustDown() || padUsed->ExitVehicleJustDown())) { +#ifdef FIX_BUGS + // same fix as above except for standing up + if(!m_pPointGunAt) + ClearPointGunAt(); +#endif ClearDuck(true); bCrouchWhenShooting = false; } @@ -1466,6 +1480,13 @@ CPlayerPed::PlayerControlZelda(CPad *padUsed) padMoveInGameUnit = CVector2D(leftRight, upDown).Magnitude() / PAD_MOVE_TO_GAME_WORLD_MOVE; } +#ifdef FREE_CAM + if (TheCamera.Cams[0].Using3rdPersonMouseCam() && smoothSprayRate > 0.0f) { + padMoveInGameUnit = 0.0f; + smoothSprayWithoutMove = false; + } +#endif + if (padMoveInGameUnit > 0.0f || smoothSprayWithoutMove) { float padHeading = CGeneral::GetRadianAngleBetweenPoints(0.0f, 0.0f, -leftRight, upDown); float neededTurn = CGeneral::LimitRadianAngle(padHeading - camOrientation); |