Ducking, shooting vehicle occupants and weapon fixes

This commit is contained in:
eray orçunus
2020-06-20 16:23:32 +03:00
parent e9e533b0cb
commit 0625954bb7
11 changed files with 240 additions and 94 deletions

View File

@ -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;

View File

@ -89,6 +89,8 @@ struct CColPoint
uint8 surfaceB;
uint8 pieceB;
float depth;
CColPoint& operator=(const CColPoint& other);
};
struct CStoredCollPoly

View File

@ -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)
{

View File

@ -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() )

View File

@ -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);