From 0625954bb74e687ed73b496bc06e9db58407e045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?eray=20or=C3=A7unus?= Date: Sat, 20 Jun 2020 16:23:32 +0300 Subject: Ducking, shooting vehicle occupants and weapon fixes --- src/core/Collision.cpp | 13 +++++++++++++ src/core/Collision.h | 2 ++ src/core/ControllerConfig.cpp | 4 ++-- src/core/Pad.cpp | 8 ++++++++ src/core/Pad.h | 1 + 5 files changed, 26 insertions(+), 2 deletions(-) (limited to 'src/core') diff --git a/src/core/Collision.cpp b/src/core/Collision.cpp index 77e28a10..76019c2f 100644 --- a/src/core/Collision.cpp +++ b/src/core/Collision.cpp @@ -1861,6 +1861,19 @@ CColTrianglePlane::Set(const CVector *v, CColTriangle &tri) dir = normal.z < 0.0f ? DIR_Z_NEG : DIR_Z_POS; } +CColPoint& +CColPoint::operator=(const CColPoint& other) +{ + point = other.point; + normal = other.normal; + surfaceA = other.surfaceA; + pieceA = other.pieceA; + surfaceB = other.surfaceB; + pieceB = other.pieceB; + // doesn't copy depth + return *this; +} + CColModel::CColModel(void) { numSpheres = 0; diff --git a/src/core/Collision.h b/src/core/Collision.h index 9f08ccd6..09abaa1c 100644 --- a/src/core/Collision.h +++ b/src/core/Collision.h @@ -89,6 +89,8 @@ struct CColPoint uint8 surfaceB; uint8 pieceB; float depth; + + CColPoint& operator=(const CColPoint& other); }; struct CStoredCollPoly diff --git a/src/core/ControllerConfig.cpp b/src/core/ControllerConfig.cpp index 2a5d20f0..c3e4e872 100644 --- a/src/core/ControllerConfig.cpp +++ b/src/core/ControllerConfig.cpp @@ -767,7 +767,7 @@ void CControllerConfigManager::AffectControllerStateOn_ButtonDown_FirstPersonOnl if (button == GetControllerKeyAssociatedWithAction(PED_SNIPER_ZOOM_OUT, type)) state.Cross = 255; if (button == GetControllerKeyAssociatedWithAction(PED_DUCK, type)) - state.RightShock = 255; + state.LeftShock = 255; } void CControllerConfigManager::AffectControllerStateOn_ButtonDown_ThirdPersonOnly(int32 button, eControllerType type, CControllerState &state) @@ -785,7 +785,7 @@ void CControllerConfigManager::AffectControllerStateOn_ButtonDown_ThirdPersonOnl if (button == GetControllerKeyAssociatedWithAction(PED_SPRINT, type)) state.Cross = 255; if (button == GetControllerKeyAssociatedWithAction(PED_DUCK, type)) - state.RightShock = 255; + state.LeftShock = 255; if (FrontEndMenuManager.m_ControlMethod == CONTROL_CLASSIC) { diff --git a/src/core/Pad.cpp b/src/core/Pad.cpp index ab66dd9b..084fe888 100644 --- a/src/core/Pad.cpp +++ b/src/core/Pad.cpp @@ -2336,6 +2336,14 @@ bool CPad::TargetJustDown(void) return false; } +bool CPad::DuckJustDown(void) +{ + if (ArePlayerControlsDisabled()) + return false; + + return !!(NewState.LeftShock && !OldState.LeftShock); +} + bool CPad::JumpJustDown(void) { if ( ArePlayerControlsDisabled() ) diff --git a/src/core/Pad.h b/src/core/Pad.h index a1461575..d0623a1e 100644 --- a/src/core/Pad.h +++ b/src/core/Pad.h @@ -237,6 +237,7 @@ public: bool CycleWeaponRightJustDown(void); bool GetTarget(void); bool TargetJustDown(void); + bool DuckJustDown(void); bool JumpJustDown(void); bool GetSprint(void); bool ShiftTargetLeftJustDown(void); -- cgit v1.2.3 From d6a853bd60441eb2722389840256b576778185ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?eray=20or=C3=A7unus?= Date: Sat, 20 Jun 2020 22:44:31 +0300 Subject: killing peds increase chaos level --- src/core/PlayerInfo.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/core') diff --git a/src/core/PlayerInfo.cpp b/src/core/PlayerInfo.cpp index 0be5f73e..ed2690eb 100644 --- a/src/core/PlayerInfo.cpp +++ b/src/core/PlayerInfo.cpp @@ -146,6 +146,8 @@ CPlayerInfo::Clear(void) m_bDriveByAllowed = true; m_nPreviousTimeRewardedForExplosion = 0; m_nExplosionsSinceLastReward = 0; + m_nHavocLevel = 0; + m_fMediaAttention = 0; m_nCurrentBustedAudio = 1; m_nBustedAudioStatus = BUSTEDAUDIO_NONE; } -- cgit v1.2.3