cleaned up MIAMI ifdefs
This commit is contained in:
@@ -858,90 +858,6 @@ CPopulation::AddPedInCar(CVehicle* car)
|
||||
void
|
||||
CPopulation::MoveCarsAndPedsOutOfAbandonedZones()
|
||||
{
|
||||
#ifndef MIAMI
|
||||
eLevelName level;
|
||||
int zone;
|
||||
int frame = CTimer::GetFrameCounter() & 7;
|
||||
if (frame == 1) {
|
||||
int movedVehicleCount = 0;
|
||||
int poolSize = CPools::GetVehiclePool()->GetSize();
|
||||
for (int poolIndex = poolSize - 1; poolIndex >= 0; poolIndex--) {
|
||||
|
||||
CVehicle* veh = CPools::GetVehiclePool()->GetSlot(poolIndex);
|
||||
if (veh && veh->m_nZoneLevel == LEVEL_NONE && veh->IsCar()) {
|
||||
|
||||
if(veh->GetStatus() != STATUS_ABANDONED && veh->GetStatus() != STATUS_WRECKED && veh->GetStatus() != STATUS_PLAYER &&
|
||||
veh->GetStatus() != STATUS_PLAYER_REMOTE) {
|
||||
|
||||
CVector vehPos(veh->GetPosition());
|
||||
CPopulation::FindCollisionZoneForCoors(&vehPos, &zone, &level);
|
||||
|
||||
// Level 0 is transition zones, and we don't wanna touch cars on transition zones.
|
||||
if (level != LEVEL_NONE && level != CCollision::ms_collisionInMemory && vehPos.z > -4.0f) {
|
||||
if (veh->bIsLocked || !veh->CanBeDeleted()) {
|
||||
switch (movedVehicleCount & 3) {
|
||||
case 0:
|
||||
veh->SetPosition(RegenerationPoint_a);
|
||||
break;
|
||||
case 1:
|
||||
veh->SetPosition(RegenerationPoint_b);
|
||||
break;
|
||||
case 2:
|
||||
veh->SetPosition(RegenerationPoint_a.x, RegenerationPoint_b.y, RegenerationPoint_a.z);
|
||||
break;
|
||||
case 3:
|
||||
veh->SetPosition(RegenerationPoint_b.x, RegenerationPoint_a.y, RegenerationPoint_a.z);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
veh->GetMatrix().GetPosition().z += (movedVehicleCount / 4) * 7.0f;
|
||||
veh->GetMatrix().GetForward() = RegenerationForward;
|
||||
((CAutomobile*)veh)->PlaceOnRoadProperly();
|
||||
CCarCtrl::JoinCarWithRoadSystem(veh);
|
||||
CTheScripts::ClearSpaceForMissionEntity(veh->GetPosition(), veh);
|
||||
++movedVehicleCount;
|
||||
} else {
|
||||
CWorld::Remove(veh);
|
||||
delete veh;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (frame == 5) {
|
||||
int poolSize = CPools::GetPedPool()->GetSize();
|
||||
for (int poolIndex = poolSize - 1; poolIndex >= 0; poolIndex--) {
|
||||
|
||||
CPed *ped = CPools::GetPedPool()->GetSlot(poolIndex);
|
||||
if (ped && ped->m_nZoneLevel == LEVEL_NONE && !ped->bInVehicle) {
|
||||
|
||||
CVector pedPos(ped->GetPosition());
|
||||
CPopulation::FindCollisionZoneForCoors(&pedPos, &zone, &level);
|
||||
|
||||
// Level 0 is transition zones, and we don't wanna touch peds on transition zones.
|
||||
if (level != LEVEL_NONE && level != CCollision::ms_collisionInMemory && pedPos.z > -4.0f) {
|
||||
if (ped->CanBeDeleted()) {
|
||||
CWorld::Remove(ped);
|
||||
delete ped;
|
||||
} else if (ped->m_nPedType != PEDTYPE_PLAYER1 && ped->m_nPedType != PEDTYPE_PLAYER2) {
|
||||
ped->SetPosition(RegenerationPoint_a);
|
||||
|
||||
bool foundGround;
|
||||
float groundZ = CWorld::FindGroundZFor3DCoord(ped->GetPosition().x, ped->GetPosition().y,
|
||||
ped->GetPosition().z + 2.0f, &foundGround);
|
||||
|
||||
if (foundGround) {
|
||||
ped->GetMatrix().GetPosition().z = 1.0f + groundZ;
|
||||
//ped->GetPosition().z += 0.0f;
|
||||
CTheScripts::ClearSpaceForMissionEntity(ped->GetPosition(), ped);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user