summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2019-09-12 18:15:13 +0200
committerNikolay Korolev <nickvnuk@gmail.com>2019-09-12 18:15:13 +0200
commit3e71c15b337e7f8ed12e43a5891169b96203c98f (patch)
treeef4276ebe0da0c414cedbc88b9e2ecacd8238252
parentMerge remote-tracking branch 'upstream/master' into carctrl_dev (diff)
parentfixed launch in space bug (diff)
downloadre3-3e71c15b337e7f8ed12e43a5891169b96203c98f.tar
re3-3e71c15b337e7f8ed12e43a5891169b96203c98f.tar.gz
re3-3e71c15b337e7f8ed12e43a5891169b96203c98f.tar.bz2
re3-3e71c15b337e7f8ed12e43a5891169b96203c98f.tar.lz
re3-3e71c15b337e7f8ed12e43a5891169b96203c98f.tar.xz
re3-3e71c15b337e7f8ed12e43a5891169b96203c98f.tar.zst
re3-3e71c15b337e7f8ed12e43a5891169b96203c98f.zip
-rw-r--r--src/core/World.cpp32
-rw-r--r--src/peds/Ped.cpp11
-rw-r--r--src/peds/Ped.h8
3 files changed, 26 insertions, 25 deletions
diff --git a/src/core/World.cpp b/src/core/World.cpp
index 29d0ac18..1598967a 100644
--- a/src/core/World.cpp
+++ b/src/core/World.cpp
@@ -331,7 +331,7 @@ CWorld::ProcessVerticalLine(const CVector &point1, float z2, CColPoint &point, C
{
AdvanceCurrentScanCode();
CVector point2(point1.x, point1.y, z2);
- return CWorld::ProcessVerticalLineSector(*GetSector(GetSectorIndexX(point1.x), GetSectorIndexX(point1.y)),
+ return ProcessVerticalLineSector(*GetSector(GetSectorIndexX(point1.x), GetSectorIndexX(point1.y)),
CColLine(point1, point2), point, entity,
checkBuildings, checkVehicles, checkPeds, checkObjects, checkDummies, ignoreSeeThrough, poly);
}
@@ -605,8 +605,8 @@ CWorld::FindObjectsInRangeSectorList(CPtrList &list, CVector &centre, float dist
for (CPtrNode *node = list.first; node; node = node->next) {
CEntity *object = (CEntity*)node->item;
- if (object->m_scanCode != CWorld::GetCurrentScanCode()) {
- object->m_scanCode = CWorld::GetCurrentScanCode();
+ if (object->m_scanCode != GetCurrentScanCode()) {
+ object->m_scanCode = GetCurrentScanCode();
CVector diff = centre - object->GetPosition();
if (ignoreZ)
@@ -941,11 +941,11 @@ CWorld::RemoveEntityInsteadOfProcessingIt(CEntity* ent)
{
if (ent->IsPed()) {
if (FindPlayerPed() == ent)
- CWorld::Remove(ent);
+ Remove(ent);
else
CPopulation::RemovePed(ent);
} else {
- CWorld::Remove(ent);
+ Remove(ent);
delete ent;
}
}
@@ -987,7 +987,7 @@ CWorld::RemoveFallenCars(void)
veh->Teleport(newPos);
veh->m_vecMoveSpeed = CVector(0.0f, 0.0f, 0.0f);
} else if (veh->VehicleCreatedBy == RANDOM_VEHICLE || veh->VehicleCreatedBy == PARKED_VEHICLE) {
- CWorld::Remove(veh);
+ Remove(veh);
delete veh;
}
}
@@ -1001,7 +1001,7 @@ CWorld::Process(void)
if (!(CTimer::GetFrameCounter() & 63))
CReferences::PruneAllReferencesInWorld();
- if (CWorld::bProcessCutsceneOnly) {
+ if (bProcessCutsceneOnly) {
for (int i = 0; i < NUMCUTSCENEOBJECTS; i++) {
CCutsceneObject *csObj = CCutsceneMgr::GetCutsceneObject(i);
if (csObj && csObj->m_entryInfoList.first) {
@@ -1036,7 +1036,7 @@ CWorld::Process(void)
}
}
}
- CWorld::bForceProcessControl = 1;
+ bForceProcessControl = true;
for (CPtrNode* node = ms_listMovingEntityPtrs.first; node; node = node->next) {
CPhysical* movingEnt = (CPhysical*)node->item;
if (movingEnt->bWasPostponed) {
@@ -1050,7 +1050,7 @@ CWorld::Process(void)
}
}
}
- CWorld::bForceProcessControl = 0;
+ bForceProcessControl = false;
if (CReplay::IsPlayingBack()) {
for (CPtrNode* node = ms_listMovingEntityPtrs.first; node; node = node->next) {
CEntity* movingEnt = (CEntity*)node->item;
@@ -1059,7 +1059,7 @@ CWorld::Process(void)
movingEnt->UpdateRwFrame();
}
} else {
- CWorld::bNoMoreCollisionTorque = 0;
+ bNoMoreCollisionTorque = false;
for (CPtrNode* node = ms_listMovingEntityPtrs.first; node; node = node->next) {
CEntity* movingEnt = (CEntity*)node->item;
if (!movingEnt->bIsInSafePosition) {
@@ -1068,7 +1068,7 @@ CWorld::Process(void)
movingEnt->UpdateRwFrame();
}
}
- CWorld::bNoMoreCollisionTorque = 1;
+ bNoMoreCollisionTorque = true;
for (int i = 0; i < 4; i++) {
for (CPtrNode* node = ms_listMovingEntityPtrs.first; node; node = node->next) {
CEntity* movingEnt = (CEntity*)node->item;
@@ -1091,7 +1091,7 @@ CWorld::Process(void)
}
}
}
- CWorld::bSecondShift = 0;
+ bSecondShift = false;
for (CPtrNode* node = ms_listMovingEntityPtrs.first; node; node = node->next) {
CEntity* movingEnt = (CEntity*)node->item;
if (!movingEnt->bIsInSafePosition) {
@@ -1103,7 +1103,7 @@ CWorld::Process(void)
}
}
}
- CWorld::bSecondShift = 1;
+ bSecondShift = true;
for (CPtrNode* node = ms_listMovingEntityPtrs.first; node; node = node->next) {
CPhysical* movingEnt = (CPhysical*)node->item;
if (!movingEnt->bIsInSafePosition) {
@@ -1114,7 +1114,7 @@ CWorld::Process(void)
movingEnt->bIsStuck = true;
if (movingEnt->m_status == STATUS_PLAYER) {
printf("STUCK: Final Step: Player Entity %d Is Stuck\n", movingEnt->m_modelIndex);
- movingEnt->m_vecMoveSpeed *= 3.0f;
+ movingEnt->m_vecMoveSpeed *= 0.3f;
movingEnt->ApplyMoveSpeed();
movingEnt->ApplyTurnSpeed();
}
@@ -1167,9 +1167,9 @@ CWorld::Process(void)
Players[PlayerInFocus].Process();
CRecordDataForChase::SaveOrRetrieveCarPositions();
if ((CTimer::GetFrameCounter() & 7) == 1) {
- CWorld::RemoveFallenPeds();
+ RemoveFallenPeds();
} else if ((CTimer::GetFrameCounter() & 7) == 5) {
- CWorld::RemoveFallenCars();
+ RemoveFallenCars();
}
}
}
diff --git a/src/peds/Ped.cpp b/src/peds/Ped.cpp
index 5f010b20..5ca9a030 100644
--- a/src/peds/Ped.cpp
+++ b/src/peds/Ped.cpp
@@ -500,7 +500,7 @@ CPed::CPed(uint32 pedType) : m_pedIK(this)
m_ped_flagG4 = false;
bStartWanderPathOnFoot = false;
m_ped_flagG10 = false;
- m_ped_flagG20 = false;
+ bBusJacked = false;
m_ped_flagG40 = false;
bFadeOut = false;
@@ -509,7 +509,7 @@ CPed::CPed(uint32 pedType) : m_pedIK(this)
m_ped_flagH4 = false;
bClearObjective = false;
m_ped_flagH10 = false;
- m_ped_flagH20 = false;
+ bCollidedWithMyVehicle = false;
m_ped_flagH40 = false;
m_ped_flagH80 = false;
@@ -8872,7 +8872,7 @@ CPed::ProcessControl(void)
if (m_fHealth <= 1.0f && m_nPedState <= PED_STATES_NO_AI && !bIsInTheAir && !bIsLanding)
SetDie(ANIM_KO_SHOT_FRONT1, 4.0f, 0.0f);
- m_ped_flagH20 = false;
+ bCollidedWithMyVehicle = false;
CEntity *collidingEnt = m_pDamageEntity;
if (!bUsesCollision || m_fDamageImpulse <= 0.0f || m_nPedState == PED_DIE || !collidingEnt) {
@@ -9100,7 +9100,7 @@ CPed::ProcessControl(void)
float collidingVehSpeedSqr = collidingVeh->m_vecMoveSpeed.MagnitudeSqr();
if (collidingVeh == m_pMyVehicle)
- m_ped_flagH20 = true;
+ bCollidedWithMyVehicle = true;
if (collidingVehSpeedSqr <= 1.0f / 400.0f) {
if (!IsPedInControl()
@@ -10219,7 +10219,7 @@ CPed::PedAnimGetInCB(CAnimBlendAssociation *animAssoc, void *arg)
veh->bIsHandbrakeOn = true;
veh->m_status = STATUS_PLAYER_DISABLED;
}
- driver->m_ped_flagG20 = true;
+ driver->bBusJacked = true;
veh->m_veh_flagC10 = false;
PedSetInCarCB(nil, ped);
if (ped->m_nPedType == PEDTYPE_COP
@@ -10456,6 +10456,7 @@ CPed::PedAnimStepOutCarCB(CAnimBlendAssociation* animAssoc, void* arg)
}
if (ped->m_ped_flagE80 || ped->m_ped_flagG40) {
+ // POTENTIAL BUG? Why DOOR_FRONT_LEFT instead of door variable? or vice versa?
if (!veh->IsDoorMissing(door))
((CAutomobile*)veh)->Damage.SetDoorStatus(DOOR_FRONT_LEFT, DOOR_STATUS_SWINGING);
} else {
diff --git a/src/peds/Ped.h b/src/peds/Ped.h
index 2808824f..2a745436 100644
--- a/src/peds/Ped.h
+++ b/src/peds/Ped.h
@@ -304,7 +304,7 @@ public:
uint8 bIsDucking : 1;
uint8 bGetUpAnimStarted : 1;
uint8 bDoBloodyFootprints : 1;
- uint8 m_ped_flagE80 : 1;
+ uint8 m_ped_flagE80 : 1; // bDontDragMeOutCar? bStayInCarOnJack?
uint8 bWanderPathAfterExitingCar : 1;
uint8 m_ped_flagF2 : 1;
@@ -320,8 +320,8 @@ public:
uint8 m_ped_flagG4 : 1;
uint8 bStartWanderPathOnFoot : 1; // exits the car if he's in it, reset after path found
uint8 m_ped_flagG10 : 1;
- uint8 m_ped_flagG20 : 1;
- uint8 m_ped_flagG40 : 1;
+ uint8 bBusJacked : 1;
+ uint8 m_ped_flagG40 : 1; // had to exit car due to someone jacked it from RF door
uint8 bFadeOut : 1;
uint8 m_ped_flagH1 : 1;
@@ -329,7 +329,7 @@ public:
uint8 m_ped_flagH4 : 1;
uint8 bClearObjective : 1;
uint8 m_ped_flagH10 : 1;
- uint8 m_ped_flagH20 : 1; // set if our own vehicle damaged us. I don't know how is that possible
+ uint8 bCollidedWithMyVehicle : 1;
uint8 m_ped_flagH40 : 1;
uint8 m_ped_flagH80 : 1;