diff options
author | Nikolay Korolev <nickvnuk@gmail.com> | 2019-09-12 18:15:13 +0200 |
---|---|---|
committer | Nikolay Korolev <nickvnuk@gmail.com> | 2019-09-12 18:15:13 +0200 |
commit | 3e71c15b337e7f8ed12e43a5891169b96203c98f (patch) | |
tree | ef4276ebe0da0c414cedbc88b9e2ecacd8238252 /src | |
parent | Merge remote-tracking branch 'upstream/master' into carctrl_dev (diff) | |
parent | fixed launch in space bug (diff) | |
download | re3-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 |
Diffstat (limited to 'src')
-rw-r--r-- | src/core/World.cpp | 32 | ||||
-rw-r--r-- | src/peds/Ped.cpp | 11 | ||||
-rw-r--r-- | src/peds/Ped.h | 8 |
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 ¢re, 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; |