mirror of
https://github.com/GTAmodding/re3.git
synced 2024-11-15 05:39:01 +00:00
Sanitizer fixes 2
This commit is contained in:
parent
424a6d90bd
commit
a8549e86a7
4 changed files with 27 additions and 14 deletions
|
@ -25,7 +25,7 @@ class CCrimeBeingQd
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
eCrimeType m_nType;
|
eCrimeType m_nType;
|
||||||
uint32 m_nId;
|
int32 m_nId;
|
||||||
uint32 m_nTime;
|
uint32 m_nTime;
|
||||||
CVector m_vecPosn;
|
CVector m_vecPosn;
|
||||||
bool m_bReported;
|
bool m_bReported;
|
||||||
|
|
|
@ -3049,7 +3049,7 @@ CPed::ProcessEntityCollision(CEntity *collidingEnt, CColPoint *collidingPoints)
|
||||||
CColModel *hisCol = CModelInfo::GetModelInfo(collidingEnt->GetModelIndex())->GetColModel();
|
CColModel *hisCol = CModelInfo::GetModelInfo(collidingEnt->GetModelIndex())->GetColModel();
|
||||||
|
|
||||||
if (!bUsesCollision)
|
if (!bUsesCollision)
|
||||||
return false;
|
return 0;
|
||||||
|
|
||||||
if (collidingEnt->IsVehicle() && ((CVehicle*)collidingEnt)->IsBoat())
|
if (collidingEnt->IsVehicle() && ((CVehicle*)collidingEnt)->IsBoat())
|
||||||
collidedWithBoat = true;
|
collidedWithBoat = true;
|
||||||
|
@ -6094,7 +6094,7 @@ CPed::FollowPath(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CPed::SetEvasiveStep(CEntity *reason, uint8 animType)
|
CPed::SetEvasiveStep(CPhysical *reason, uint8 animType)
|
||||||
{
|
{
|
||||||
AnimationId stepAnim;
|
AnimationId stepAnim;
|
||||||
|
|
||||||
|
@ -6112,22 +6112,29 @@ CPed::SetEvasiveStep(CEntity *reason, uint8 animType)
|
||||||
if (neededTurn > PI)
|
if (neededTurn > PI)
|
||||||
neededTurn = TWOPI - neededTurn;
|
neededTurn = TWOPI - neededTurn;
|
||||||
|
|
||||||
|
if (reason->IsVehicle() && ((CVehicle*)reason)->IsCar()) {
|
||||||
CVehicle *veh = (CVehicle*)reason;
|
CVehicle *veh = (CVehicle*)reason;
|
||||||
if (reason->IsVehicle() && veh->m_vehType == VEHICLE_TYPE_CAR) {
|
|
||||||
if (veh->m_nCarHornTimer != 0) {
|
if (veh->m_nCarHornTimer != 0) {
|
||||||
vehPressedHorn = true;
|
vehPressedHorn = true;
|
||||||
if (!IsPlayer())
|
if (!IsPlayer())
|
||||||
animType = 1;
|
animType = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (neededTurn <= DEGTORAD(90.0f) || veh->GetModelIndex() == MI_RCBANDIT || vehPressedHorn || animType != 0) {
|
|
||||||
SetLookFlag(veh, true);
|
#ifdef FIX_BUGS
|
||||||
if ((CGeneral::GetRandomNumber() & 1) && veh->GetModelIndex() != MI_RCBANDIT && animType == 0) {
|
#define IS_RCBANDIT (reason->IsVehicle() && reason->GetModelIndex() == MI_RCBANDIT)
|
||||||
|
#else
|
||||||
|
#define IS_RCBANDIT (reason->GetModelIndex() == MI_RCBANDIT)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (neededTurn <= DEGTORAD(90.0f) || IS_RCBANDIT || vehPressedHorn || animType != 0) {
|
||||||
|
SetLookFlag(reason, true);
|
||||||
|
if ((CGeneral::GetRandomNumber() & 1) && !IS_RCBANDIT && animType == 0) {
|
||||||
stepAnim = ANIM_STD_HAILTAXI;
|
stepAnim = ANIM_STD_HAILTAXI;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
float vehDirection = CGeneral::GetRadianAngleBetweenPoints(
|
float dangerDirection = CGeneral::GetRadianAngleBetweenPoints(
|
||||||
veh->m_vecMoveSpeed.x, veh->m_vecMoveSpeed.y,
|
reason->m_vecMoveSpeed.x, reason->m_vecMoveSpeed.y,
|
||||||
0.0f, 0.0f);
|
0.0f, 0.0f);
|
||||||
|
|
||||||
// Let's turn our back to the "reason"
|
// Let's turn our back to the "reason"
|
||||||
|
@ -6137,14 +6144,14 @@ CPed::SetEvasiveStep(CEntity *reason, uint8 animType)
|
||||||
angleToFace -= TWOPI;
|
angleToFace -= TWOPI;
|
||||||
|
|
||||||
// We don't want to run towards car's direction
|
// We don't want to run towards car's direction
|
||||||
float dangerZone = angleToFace - vehDirection;
|
float dangerZone = angleToFace - dangerDirection;
|
||||||
dangerZone = CGeneral::LimitRadianAngle(dangerZone);
|
dangerZone = CGeneral::LimitRadianAngle(dangerZone);
|
||||||
|
|
||||||
// So, add or subtract 90deg (jump to left/right) according to that
|
// So, add or subtract 90deg (jump to left/right) according to that
|
||||||
if (dangerZone > 0.0f)
|
if (dangerZone > 0.0f)
|
||||||
angleToFace = vehDirection - HALFPI;
|
angleToFace = dangerDirection - HALFPI;
|
||||||
else
|
else
|
||||||
angleToFace = vehDirection + HALFPI;
|
angleToFace = dangerDirection + HALFPI;
|
||||||
|
|
||||||
stepAnim = ANIM_STD_NUM;
|
stepAnim = ANIM_STD_NUM;
|
||||||
if (animType == 0 || animType == 1)
|
if (animType == 0 || animType == 1)
|
||||||
|
@ -6166,6 +6173,8 @@ CPed::SetEvasiveStep(CEntity *reason, uint8 animType)
|
||||||
SetPedState(PED_STEP_AWAY);
|
SetPedState(PED_STEP_AWAY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#undef IS_RCBANDIT
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -625,7 +625,7 @@ public:
|
||||||
void SetAimFlag(CEntity* to);
|
void SetAimFlag(CEntity* to);
|
||||||
void SetAimFlag(float angle);
|
void SetAimFlag(float angle);
|
||||||
void SetAmmo(eWeaponType weaponType, uint32 ammo);
|
void SetAmmo(eWeaponType weaponType, uint32 ammo);
|
||||||
void SetEvasiveStep(CEntity*, uint8);
|
void SetEvasiveStep(CPhysical*, uint8);
|
||||||
void GrantAmmo(eWeaponType, uint32);
|
void GrantAmmo(eWeaponType, uint32);
|
||||||
void SetEvasiveDive(CPhysical*, uint8);
|
void SetEvasiveDive(CPhysical*, uint8);
|
||||||
void SetAttack(CEntity*);
|
void SetAttack(CEntity*);
|
||||||
|
|
|
@ -2266,7 +2266,11 @@ CWeapon::HitsGround(CEntity *holder, CVector *fireSource, CEntity *aimingTo)
|
||||||
void
|
void
|
||||||
CWeapon::BlowUpExplosiveThings(CEntity *thing)
|
CWeapon::BlowUpExplosiveThings(CEntity *thing)
|
||||||
{
|
{
|
||||||
|
#ifdef FIX_BUGS
|
||||||
|
if ( thing && thing->IsObject() )
|
||||||
|
#else
|
||||||
if ( thing )
|
if ( thing )
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
CObject *object = (CObject*)thing;
|
CObject *object = (CObject*)thing;
|
||||||
int32 mi = object->GetModelIndex();
|
int32 mi = object->GetModelIndex();
|
||||||
|
|
Loading…
Reference in a new issue