diff options
Diffstat (limited to 'src/control/SceneEdit.cpp')
-rw-r--r-- | src/control/SceneEdit.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/control/SceneEdit.cpp b/src/control/SceneEdit.cpp index 7f914a76..6aa64a3c 100644 --- a/src/control/SceneEdit.cpp +++ b/src/control/SceneEdit.cpp @@ -68,7 +68,9 @@ static const char* pCommandStrings[] = { "Save Movie", "Load Movie", "Play Movie", "END" }; +#ifdef CHECK_STRUCT_SIZES static_assert(ARRAY_SIZE(pCommandStrings) == CSceneEdit::MOVIE_TOTAL_COMMANDS, "Scene edit: not all commands have names"); +#endif static int32 NextValidModelId(int32 mi, int32 step) { @@ -76,7 +78,7 @@ static int32 NextValidModelId(int32 mi, int32 step) int32 i = mi; while (result == -1) { i += step; - if (i < 0 || i > 5500) { + if (i < 0 || i > MODELINFOSIZE) { step = -step; continue; } @@ -84,12 +86,11 @@ static int32 NextValidModelId(int32 mi, int32 step) CVehicleModelInfo* pVehicleInfo = (CVehicleModelInfo*)pInfo; if (!pInfo) continue; - if (pInfo->m_type == MITYPE_PED + if (pInfo->GetModelType() == MITYPE_PED #ifdef FIX_BUGS && !(i >= MI_SPECIAL01 && i <= MI_SPECIAL04) #endif - || - pInfo->m_type == MITYPE_VEHICLE && + || pInfo->GetModelType() == MITYPE_VEHICLE && #ifdef FIX_BUGS (pVehicleInfo->m_vehicleType == VEHICLE_TYPE_CAR || pVehicleInfo->m_vehicleType == VEHICLE_TYPE_BOAT)) #else // && and || priority failure it seems, also crashes on special models @@ -349,7 +350,7 @@ void CSceneEdit::ProcessCommand(void) } CPed* pPed = new CCivilianPed(PEDTYPE_SPECIAL, m_nPedmodelId); pPed->CharCreatedBy = MISSION_CHAR; - pPed->GetPosition() = m_vecCurrentPosition; + pPed->SetPosition(m_vecCurrentPosition); pPed->SetOrientation(0.0f, 0.0f, 0.0f); CWorld::Add(pPed); pPed->bUsesCollision = false; @@ -363,7 +364,7 @@ void CSceneEdit::ProcessCommand(void) } } else { - pActors[m_nActor]->GetPosition() = m_vecCurrentPosition; + pActors[m_nActor]->SetPosition(m_vecCurrentPosition); pActors[m_nActor]->SetOrientation(0.0f, 0.0f, 0.0f); int32 mi = m_nPedmodelId; if (CPad::GetPad(1)->GetLeftShoulder1JustDown()) @@ -405,7 +406,7 @@ void CSceneEdit::ProcessCommand(void) SelectActor(); if (m_bCommandActive) break; - pActors[m_nActor]->GetPosition() = m_vecCurrentPosition; + pActors[m_nActor]->SetPosition(m_vecCurrentPosition); if (CPad::GetPad(1)->GetTriangleJustDown()) { m_bCommandActive = false; #ifndef FIX_BUGS // why? it crashes, also makes no sense @@ -450,8 +451,8 @@ void CSceneEdit::ProcessCommand(void) break; } CVehicle* pVehicle = new CAutomobile(m_nVehiclemodelId, MISSION_VEHICLE); - pVehicle->m_status = STATUS_PHYSICS; - pVehicle->GetPosition() = m_vecCurrentPosition; + pVehicle->SetStatus(STATUS_PHYSICS); + pVehicle->SetPosition(m_vecCurrentPosition); pVehicle->SetOrientation(0.0f, 0.0f, 0.0f); CWorld::Add(pVehicle); pVehicle->bUsesCollision = false; @@ -465,7 +466,7 @@ void CSceneEdit::ProcessCommand(void) } } else { - pVehicles[m_nVehicle]->GetPosition() = m_vecCurrentPosition; + pVehicles[m_nVehicle]->SetPosition(m_vecCurrentPosition); pVehicles[m_nVehicle]->SetOrientation(0.0f, 0.0f, 0.0f); int32 mi = m_nVehiclemodelId; if (CPad::GetPad(1)->GetLeftShoulder1JustDown()) @@ -507,7 +508,7 @@ void CSceneEdit::ProcessCommand(void) SelectVehicle(); if (m_bCommandActive) break; - pVehicles[m_nVehicle]->GetPosition() = m_vecCurrentPosition; + pVehicles[m_nVehicle]->SetPosition(m_vecCurrentPosition); if (CPad::GetPad(1)->GetTriangleJustDown()) { m_bCommandActive = false; #ifndef FIX_BUGS // again, why? works wrong @@ -567,7 +568,7 @@ void CSceneEdit::ProcessCommand(void) pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nCarMission = MISSION_GOTOCOORDS_STRAIGHT; else pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nCarMission = MISSION_GOTOCOORDS; - pActors[m_nActor]->m_pMyVehicle->m_status = STATUS_PHYSICS; + pActors[m_nActor]->m_pMyVehicle->SetStatus(STATUS_PHYSICS); pActors[m_nActor]->m_pMyVehicle->bEngineOn = true; pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nCruiseSpeed = Max(16, pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nCruiseSpeed); pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nAntiReverseTimer = CTimer::GetTimeInMilliseconds(); @@ -785,7 +786,7 @@ void CSceneEdit::PlayBack(void) CPed* pPed = new CCivilianPed(PEDTYPE_SPECIAL, m_nPedmodelId); pPed->CharCreatedBy = MISSION_CHAR; CWorld::Add(pPed); - pPed->GetPosition() = m_vecCurrentPosition; + pPed->SetPosition(m_vecCurrentPosition); pPed->SetOrientation(0.0f, 0.0f, 0.0f); for (int i = 0; i < NUM_ACTORS_IN_MOVIE; i++) { if (pActors[i] == nil) { @@ -810,8 +811,8 @@ void CSceneEdit::PlayBack(void) break; } CVehicle* pVehicle = new CAutomobile(m_nVehiclemodelId, MISSION_VEHICLE); - pVehicle->m_status = STATUS_PHYSICS; - pVehicle->GetPosition() = m_vecCurrentPosition; + pVehicle->SetStatus(STATUS_PHYSICS); + pVehicle->SetPosition(m_vecCurrentPosition); pVehicle->SetOrientation(0.0f, 0.0f, 0.0f); CWorld::Add(pVehicle); for (int i = 0; i < NUM_VEHICLES_IN_MOVIE; i++) { @@ -845,7 +846,7 @@ void CSceneEdit::PlayBack(void) pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nCarMission = MISSION_GOTOCOORDS_STRAIGHT; else pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nCarMission = MISSION_GOTOCOORDS; - pActors[m_nActor]->m_pMyVehicle->m_status = STATUS_PHYSICS; + pActors[m_nActor]->m_pMyVehicle->SetStatus(STATUS_PHYSICS); pActors[m_nActor]->m_pMyVehicle->bEngineOn = true; pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nCruiseSpeed = Max(16, pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nCruiseSpeed); pActors[m_nActor]->m_pMyVehicle->AutoPilot.m_nAntiReverseTimer = CTimer::GetTimeInMilliseconds(); |