Peds, bike center of mass and reversing fixes

This commit is contained in:
eray orçunus
2020-06-09 00:56:01 +03:00
parent f8b4c0ee1d
commit dba2b052a6
9 changed files with 711 additions and 353 deletions

View File

@ -74,20 +74,18 @@ CCopPed::CCopPed(eCopType copType, int32 modifier) : CPed(PEDTYPE_COP)
break;
}
m_bIsInPursuit = false;
field_1350 = 1;
field_5FE = 1;
m_bIsDisabledCop = false;
m_fAbseilPos = 0.0f;
m_attackTimer = 0;
m_bBeatingSuspect = false;
m_bStopAndShootDisabledZone = false;
field_601 = false;
m_bZoneDisabled = false;
field_1364 = -1;
field_628 = -1;
m_nRoadblockNode = -1; // TODO(Miami): this will be nil
field_5FF = 0;
m_fAbseilPos = 0.0f;
m_bBeatingSuspect = false;
m_pPointGunAt = nil;
// VC also initializes in here, but as nil
#ifdef FIX_BUGS
m_nRoadblockNode = -1;
#endif
}
CCopPed::~CCopPed()

View File

@ -17,13 +17,15 @@ public:
float m_fDistanceToTarget;
bool m_bIsInPursuit;
bool m_bIsDisabledCop;
int8 field_1350;
int8 field_5FE;
int8 field_5FF;
bool m_bBeatingSuspect;
bool m_bStopAndShootDisabledZone;
bool field_601; // set when police dragging player from car
bool m_bZoneDisabled;
float m_fAbseilPos; // VC leftover, unused
float m_fAbseilPos;
eCopType m_nCopType;
int8 field_1364;
int8 field_628;
CCopPed(eCopType, int32 modifier = 0);
~CCopPed();

File diff suppressed because it is too large Load Diff

View File

@ -469,14 +469,14 @@ public:
//uint32 b157_8
//uint32 b157_10
//uint32 b157_20
//uint32 b157_40
uint32 b157_40 : 1;
uint32 bIgnoreThreatsBehindObjects : 1;
uint32 bNeverEverTargetThisPed : 1;
uint32 bCrouchWhenScared : 1;
uint32 bKnockedOffBike : 1;
//uint32 b158_8
//uint32 b158_10
uint32 b158_10 : 1;
uint32 bBoughtIceCream : 1;
//uint32 b158_40
//uint32 b158_80
@ -654,14 +654,14 @@ public:
void AimGun(void);
void KillPedWithCar(CVehicle *veh, float impulse);
void Say(uint16 audio);
void SetLookFlag(CEntity *target, bool keepTryingToLook);
void SetLookFlag(float direction, bool keepTryingToLook);
void SetLookFlag(CEntity* target, bool keepTryingToLook, bool cancelPrevious = false);
void SetLookFlag(float direction, bool keepTryingToLook, bool cancelPrevious = false);
void SetLookTimer(int time);
void SetDie(AnimationId anim = ANIM_KO_SHOT_FRONT1, float arg1 = 4.0f, float arg2 = 0.0f);
void SetDead(void);
void ApplyHeadShot(eWeaponType weaponType, CVector pos, bool evenOnPlayer);
void RemoveBodyPart(PedNode nodeId, int8 direction);
bool OurPedCanSeeThisOne(CEntity *target);
bool OurPedCanSeeThisOne(CEntity *target, bool shootablesDoBlock = false);
void Avoid(void);
void Attack(void);
void ClearAimFlag(void);
@ -842,6 +842,7 @@ public:
void PedShuffle();
void DriveVehicle();
void PositionAttachedPed();
bool CanUseTorsoWhenLooking();
// Static methods
static CVector GetLocalPositionToOpenCarDoor(CVehicle *veh, uint32 component, float offset);