mirror of https://github.com/OpenRCT2/OpenRCT2.git
Vehicle/rename update flags (#19363)
* rename VEHICLE_UPDATE_FLAG_ON_LIFT_HILL * rename VEHICLE_UPDATE_FLAG_COLLISION_DISABLED * rename VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT * rename VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE * rename VEHICLE_UPDATE_FLAG_READY_DEPART * rename VEHICLE_UPDATE_FLAG_TESTING * rename VEHICLE_UPDATE_FLAG_6 * rename VEHICLE_UPDATE_FLAG_ZERO_VELOCITY * rename VEHICLE_UPDATE_FLAG_BROKEN_CAR * rename VEHICLE_UPDATE_FLAG_BROKEN_TRAIN * rename VEHICLE_UPDATE_FLAG_ON_BRAKE_FOR_DROP * rename VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES * rename VEHICLE_UPDATE_FLAG_12 * rename VEHICLE_UPDATE_FLAG_ROTATION_OFF_WILD_MOUSE * rename VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION * rename VEHICLE_UPDATE_FLAG_CRASHED * name flag 12 to Reverse Incline Completed Lap * name flag 6 to Currently Colliding * fix formatting * rename has/clear/set update flag * fix formatting again * move to namespace constexpr * fix formatting * the one that got away
This commit is contained in:
parent
3912381502
commit
df0edc92d0
|
@ -3980,9 +3980,8 @@ static void WindowRideMaintenanceDropdown(WindowBase* w, WidgetIndex widgetIndex
|
|||
for (vehicle = GetEntity<Vehicle>(ride->vehicles[i]); vehicle != nullptr;
|
||||
vehicle = GetEntity<Vehicle>(vehicle->next_vehicle_on_train))
|
||||
{
|
||||
vehicle->ClearUpdateFlag(
|
||||
VEHICLE_UPDATE_FLAG_BROKEN_CAR | VEHICLE_UPDATE_FLAG_ZERO_VELOCITY
|
||||
| VEHICLE_UPDATE_FLAG_BROKEN_TRAIN);
|
||||
vehicle->ClearFlag(
|
||||
VehicleFlags::CarIsBroken | VehicleFlags::StoppedOnLift | VehicleFlags::TrainIsBroken);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -3993,14 +3992,14 @@ static void WindowRideMaintenanceDropdown(WindowBase* w, WidgetIndex widgetIndex
|
|||
vehicle = GetEntity<Vehicle>(ride->vehicles[ride->broken_vehicle]);
|
||||
if (vehicle != nullptr)
|
||||
{
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_CAR);
|
||||
vehicle->ClearFlag(VehicleFlags::CarIsBroken);
|
||||
}
|
||||
break;
|
||||
case BREAKDOWN_VEHICLE_MALFUNCTION:
|
||||
vehicle = GetEntity<Vehicle>(ride->vehicles[ride->broken_vehicle]);
|
||||
if (vehicle != nullptr)
|
||||
{
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_TRAIN);
|
||||
vehicle->ClearFlag(VehicleFlags::TrainIsBroken);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -3989,8 +3989,7 @@ void Guest::UpdateRideFreeVehicleCheck()
|
|||
{
|
||||
return;
|
||||
}
|
||||
if (ride->status == RideStatus::Open && ++RejoinQueueTimeout != 0
|
||||
&& !currentTrain->HasUpdateFlag(VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART))
|
||||
if (ride->status == RideStatus::Open && ++RejoinQueueTimeout != 0 && !currentTrain->HasFlag(VehicleFlags::ReadyToDepart))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -2137,7 +2137,7 @@ bool Staff::UpdateFixingFixVehicle(bool firstRun, const Ride& ride)
|
|||
return true;
|
||||
}
|
||||
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_CAR);
|
||||
vehicle->ClearFlag(VehicleFlags::CarIsBroken);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -2178,7 +2178,7 @@ bool Staff::UpdateFixingFixVehicleMalfunction(bool firstRun, const Ride& ride)
|
|||
return true;
|
||||
}
|
||||
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_TRAIN);
|
||||
vehicle->ClearFlag(VehicleFlags::TrainIsBroken);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -1955,7 +1955,7 @@ namespace OpenRCT2
|
|||
cs.ReadWrite(isCrashedVehicle);
|
||||
if (isCrashedVehicle)
|
||||
{
|
||||
entity.SetUpdateFlag(VEHICLE_UPDATE_FLAG_CRASHED);
|
||||
entity.SetFlag(VehicleFlags::Crashed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2817,7 +2817,7 @@ namespace RCT1
|
|||
dst->next_free_seat = src->NextFreeSeat;
|
||||
if (src->Flags & RCT12_ENTITY_FLAGS_IS_CRASHED_VEHICLE_ENTITY)
|
||||
{
|
||||
dst->SetUpdateFlag(VEHICLE_UPDATE_FLAG_CRASHED);
|
||||
dst->SetFlag(VehicleFlags::Crashed);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2046,7 +2046,7 @@ namespace RCT2
|
|||
dst->target_seat_rotation = src->TargetSeatRotation;
|
||||
if (src->Flags & RCT12_ENTITY_FLAGS_IS_CRASHED_VEHICLE_ENTITY)
|
||||
{
|
||||
dst->SetUpdateFlag(VEHICLE_UPDATE_FLAG_CRASHED);
|
||||
dst->SetFlag(VehicleFlags::Crashed);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ Vehicle* CableLiftSegmentCreate(
|
|||
current->SetTrackType(TrackElemType::CableLiftHill);
|
||||
current->SetTrackDirection(current->sprite_direction >> 3);
|
||||
current->track_progress = 164;
|
||||
current->Flags = VEHICLE_UPDATE_FLAG_COLLISION_DISABLED;
|
||||
current->Flags = VehicleFlags::CollisionDisabled;
|
||||
current->SetState(Vehicle::Status::MovingToEndOfStation, 0);
|
||||
current->num_peeps = 0;
|
||||
current->next_free_seat = 0;
|
||||
|
@ -202,7 +202,7 @@ void Vehicle::CableLiftUpdateTravelling()
|
|||
|
||||
velocity = std::min(passengerVehicle->velocity, 439800);
|
||||
acceleration = 0;
|
||||
if (passengerVehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_TRAIN))
|
||||
if (passengerVehicle->HasFlag(VehicleFlags::TrainIsBroken))
|
||||
return;
|
||||
|
||||
if (!(CableLiftUpdateTrackMotion() & VEHICLE_UPDATE_MOTION_TRACK_FLAG_1))
|
||||
|
|
|
@ -1524,7 +1524,7 @@ void RidePrepareBreakdown(Ride& ride, int32_t breakdownReason)
|
|||
}
|
||||
if (vehicle != nullptr)
|
||||
{
|
||||
vehicle->SetUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_CAR);
|
||||
vehicle->SetFlag(VehicleFlags::CarIsBroken);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -1537,7 +1537,7 @@ void RidePrepareBreakdown(Ride& ride, int32_t breakdownReason)
|
|||
vehicle = GetEntity<Vehicle>(ride.vehicles[ride.broken_vehicle]);
|
||||
if (vehicle != nullptr)
|
||||
{
|
||||
vehicle->SetUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_TRAIN);
|
||||
vehicle->SetFlag(VehicleFlags::TrainIsBroken);
|
||||
}
|
||||
break;
|
||||
case BREAKDOWN_BRAKES_FAILURE:
|
||||
|
@ -3266,12 +3266,12 @@ static Vehicle* VehicleCreateCar(
|
|||
{
|
||||
vehicle->track_progress = 15;
|
||||
}
|
||||
vehicle->Flags = VEHICLE_UPDATE_FLAG_COLLISION_DISABLED;
|
||||
vehicle->Flags = VehicleFlags::CollisionDisabled;
|
||||
if (carEntry.flags & CAR_ENTRY_FLAG_HAS_INVERTED_SPRITE_SET)
|
||||
{
|
||||
if (trackElement->IsInverted())
|
||||
{
|
||||
vehicle->SetUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES);
|
||||
vehicle->SetFlag(VehicleFlags::CarIsInverted);
|
||||
}
|
||||
}
|
||||
vehicle->SetState(Vehicle::Status::MovingToEndOfStation);
|
||||
|
@ -3574,7 +3574,7 @@ void Ride::MoveTrainsToBlockBrakes(TrackElement* firstBlock)
|
|||
firstBlock->SetBrakeClosed(true);
|
||||
for (Vehicle* car = train; car != nullptr; car = GetEntity<Vehicle>(car->next_vehicle_on_train))
|
||||
{
|
||||
car->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
car->ClearFlag(VehicleFlags::CollisionDisabled);
|
||||
car->SetState(Vehicle::Status::Travelling, car->sub_state);
|
||||
if ((car->GetTrackType()) == TrackElemType::EndStation)
|
||||
{
|
||||
|
@ -4492,7 +4492,7 @@ void InvalidateTestResults(Ride& ride)
|
|||
Vehicle* vehicle = GetEntity<Vehicle>(ride.vehicles[i]);
|
||||
if (vehicle != nullptr)
|
||||
{
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING);
|
||||
vehicle->ClearFlag(VehicleFlags::Testing);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4520,9 +4520,9 @@ void RideFixBreakdown(Ride& ride, int32_t reliabilityIncreaseFactor)
|
|||
for (Vehicle* vehicle = GetEntity<Vehicle>(ride.vehicles[i]); vehicle != nullptr;
|
||||
vehicle = GetEntity<Vehicle>(vehicle->next_vehicle_on_train))
|
||||
{
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_ZERO_VELOCITY);
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_CAR);
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_TRAIN);
|
||||
vehicle->ClearFlag(VehicleFlags::StoppedOnLift);
|
||||
vehicle->ClearFlag(VehicleFlags::CarIsBroken);
|
||||
vehicle->ClearFlag(VehicleFlags::TrainIsBroken);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -278,7 +278,7 @@ static void RideRaceInitVehicleSpeeds(const Ride& ride)
|
|||
if (vehicle == nullptr)
|
||||
continue;
|
||||
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_6);
|
||||
vehicle->ClearFlag(VehicleFlags::CurrentlyColliding);
|
||||
|
||||
const auto* rideEntry = vehicle->GetRideEntry();
|
||||
|
||||
|
|
|
@ -623,9 +623,9 @@ void Vehicle::MoveRelativeDistance(int32_t distance)
|
|||
{
|
||||
remaining_distance += distance;
|
||||
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION | VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
SetFlag(VehicleFlags::MoveSingleCar | VehicleFlags::CollisionDisabled);
|
||||
UpdateTrackMotion(nullptr);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION | VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
ClearFlag(VehicleFlags::MoveSingleCar | VehicleFlags::CollisionDisabled);
|
||||
}
|
||||
|
||||
Vehicle* TryGetVehicle(EntityId spriteIndex)
|
||||
|
@ -1258,7 +1258,7 @@ bool Vehicle::CloseRestraints()
|
|||
for (Vehicle* vehicle = GetEntity<Vehicle>(Id); vehicle != nullptr;
|
||||
vehicle = GetEntity<Vehicle>(vehicle->next_vehicle_on_train))
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_CAR) && vehicle->restraints_position != 0
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsBroken) && vehicle->restraints_position != 0
|
||||
&& (curRide->breakdown_reason_pending == BREAKDOWN_RESTRAINTS_STUCK_OPEN
|
||||
|| curRide->breakdown_reason_pending == BREAKDOWN_DOORS_STUCK_OPEN))
|
||||
{
|
||||
|
@ -1374,7 +1374,7 @@ bool Vehicle::OpenRestraints()
|
|||
continue;
|
||||
}
|
||||
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_CAR) && vehicle->restraints_position != 0xFF
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsBroken) && vehicle->restraints_position != 0xFF
|
||||
&& (curRide->breakdown_reason_pending == BREAKDOWN_RESTRAINTS_STUCK_CLOSED
|
||||
|| curRide->breakdown_reason_pending == BREAKDOWN_DOORS_STUCK_CLOSED))
|
||||
{
|
||||
|
@ -1458,7 +1458,7 @@ void Vehicle::UpdateMeasurements()
|
|||
curRide->lifecycle_flags |= RIDE_LIFECYCLE_TESTED;
|
||||
curRide->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS;
|
||||
curRide->lifecycle_flags &= ~RIDE_LIFECYCLE_TEST_IN_PROGRESS;
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING);
|
||||
ClearFlag(VehicleFlags::Testing);
|
||||
WindowInvalidateByNumber(WindowClass::Ride, ride.ToUnderlying());
|
||||
return;
|
||||
}
|
||||
|
@ -1531,7 +1531,7 @@ void Vehicle::UpdateMeasurements()
|
|||
return;
|
||||
|
||||
auto trackElemType = GetTrackType();
|
||||
if (trackElemType == TrackElemType::PoweredLift || HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL))
|
||||
if (trackElemType == TrackElemType::PoweredLift || HasFlag(VehicleFlags::OnLiftHill))
|
||||
{
|
||||
if (!(curRide->testing_flags & RIDE_TESTING_POWERED_LIFT))
|
||||
{
|
||||
|
@ -1870,7 +1870,7 @@ void Vehicle::Update()
|
|||
if (curRide->type >= RIDE_TYPE_COUNT)
|
||||
return;
|
||||
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING))
|
||||
if (HasFlag(VehicleFlags::Testing))
|
||||
UpdateMeasurements();
|
||||
|
||||
_vehicleBreakdown = 255;
|
||||
|
@ -1882,7 +1882,7 @@ void Vehicle::Update()
|
|||
{
|
||||
if (!(carEntry->flags & CAR_ENTRY_FLAG_WATER_RIDE) || (Pitch == 2 && velocity <= 0x20000))
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ZERO_VELOCITY);
|
||||
SetFlag(VehicleFlags::StoppedOnLift);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2087,7 +2087,7 @@ void Vehicle::TrainReadyToDepart(uint8_t num_peeps_on_train, uint8_t num_used_se
|
|||
return;
|
||||
|
||||
if (curRide->status == RideStatus::Open && !(curRide->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)
|
||||
&& !HasUpdateFlag(VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART))
|
||||
&& !HasFlag(VehicleFlags::ReadyToDepart))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -2196,7 +2196,7 @@ void Vehicle::UpdateWaitingForPassengers()
|
|||
if (time_waiting != 0xFFFF)
|
||||
time_waiting++;
|
||||
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART);
|
||||
ClearFlag(VehicleFlags::ReadyToDepart);
|
||||
|
||||
// 0xF64E31, 0xF64E32, 0xF64E33
|
||||
uint8_t num_peeps_on_train = 0, num_used_seats_on_train = 0, num_seats_on_train = 0;
|
||||
|
@ -2242,7 +2242,7 @@ void Vehicle::UpdateWaitingForPassengers()
|
|||
{
|
||||
if (curRide->max_waiting_time * 32 < time_waiting)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART);
|
||||
SetFlag(VehicleFlags::ReadyToDepart);
|
||||
TrainReadyToDepart(num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -2265,7 +2265,7 @@ void Vehicle::UpdateWaitingForPassengers()
|
|||
{
|
||||
if (train->current_station == current_station)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART);
|
||||
SetFlag(VehicleFlags::ReadyToDepart);
|
||||
TrainReadyToDepart(num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -2278,7 +2278,7 @@ void Vehicle::UpdateWaitingForPassengers()
|
|||
{
|
||||
if (num_peeps_on_train == num_seats_on_train)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART);
|
||||
SetFlag(VehicleFlags::ReadyToDepart);
|
||||
TrainReadyToDepart(num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -2295,13 +2295,13 @@ void Vehicle::UpdateWaitingForPassengers()
|
|||
peepTarget = 1;
|
||||
|
||||
if (num_peeps_on_train >= peepTarget)
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART);
|
||||
SetFlag(VehicleFlags::ReadyToDepart);
|
||||
|
||||
TrainReadyToDepart(num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART);
|
||||
SetFlag(VehicleFlags::ReadyToDepart);
|
||||
TrainReadyToDepart(num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -2310,11 +2310,11 @@ void Vehicle::UpdateWaitingForPassengers()
|
|||
return;
|
||||
|
||||
velocity = 0;
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT);
|
||||
ClearFlag(VehicleFlags::WaitingOnAdjacentStation);
|
||||
|
||||
if (curRide->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT);
|
||||
SetFlag(VehicleFlags::WaitingOnAdjacentStation);
|
||||
}
|
||||
|
||||
SetState(Vehicle::Status::WaitingToDepart);
|
||||
|
@ -2441,7 +2441,7 @@ void Vehicle::UpdateWaitingToDepart()
|
|||
{
|
||||
if (curRide->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS)
|
||||
{
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT))
|
||||
if (HasFlag(VehicleFlags::WaitingOnAdjacentStation))
|
||||
{
|
||||
if (!CanDepartSynchronised())
|
||||
{
|
||||
|
@ -2675,7 +2675,7 @@ static bool try_add_synchronised_station(const CoordsXYZ& coords)
|
|||
{
|
||||
continue;
|
||||
}
|
||||
if (!vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT))
|
||||
if (!vehicle->HasFlag(VehicleFlags::WaitingOnAdjacentStation))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
@ -2702,7 +2702,7 @@ static bool try_add_synchronised_station(const CoordsXYZ& coords)
|
|||
*
|
||||
* Permits vehicles to depart in two ways:
|
||||
* Returns true, permitting the vehicle in the param to depart immediately;
|
||||
* The vehicle flag VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT is cleared for those
|
||||
* The vehicle flag VehicleFlags::WaitingOnAdjacentStation is cleared for those
|
||||
* vehicles that depart in sync with the vehicle in the param.
|
||||
*/
|
||||
static bool ride_station_can_depart_synchronised(const Ride& ride, StationIndex stationIndex)
|
||||
|
@ -2885,7 +2885,7 @@ static bool ride_station_can_depart_synchronised(const Ride& ride, StationIndex
|
|||
auto v = GetEntity<Vehicle>(sv->vehicle_id);
|
||||
if (v != nullptr)
|
||||
{
|
||||
v->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT);
|
||||
v->ClearFlag(VehicleFlags::WaitingOnAdjacentStation);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2961,7 +2961,7 @@ void Vehicle::UpdateTestFinish()
|
|||
if (curRide == nullptr)
|
||||
return;
|
||||
test_finish(*curRide);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING);
|
||||
ClearFlag(VehicleFlags::Testing);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3007,7 +3007,7 @@ static void test_reset(Ride& ride, StationIndex curStation)
|
|||
|
||||
void Vehicle::TestReset()
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING);
|
||||
SetFlag(VehicleFlags::Testing);
|
||||
auto curRide = GetRide();
|
||||
if (curRide == nullptr)
|
||||
return;
|
||||
|
@ -3105,7 +3105,7 @@ void Vehicle::UpdateDeparting()
|
|||
|
||||
if (sub_state == 0)
|
||||
{
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_TRAIN))
|
||||
if (HasFlag(VehicleFlags::TrainIsBroken))
|
||||
{
|
||||
if (curRide->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)
|
||||
return;
|
||||
|
@ -3140,7 +3140,7 @@ void Vehicle::UpdateDeparting()
|
|||
|
||||
if (!(curRide->lifecycle_flags & RIDE_LIFECYCLE_TESTED))
|
||||
{
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING))
|
||||
if (HasFlag(VehicleFlags::Testing))
|
||||
{
|
||||
if (curRide->current_test_segment + 1 < curRide->num_stations)
|
||||
{
|
||||
|
@ -3230,7 +3230,7 @@ void Vehicle::UpdateDeparting()
|
|||
}
|
||||
if (curRide->mode == RideMode::Shuttle)
|
||||
{
|
||||
Flags ^= VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE;
|
||||
Flags ^= VehicleFlags::PoweredCarInReverse;
|
||||
velocity = 0;
|
||||
|
||||
// We have turned, so treat it like entering a new tile
|
||||
|
@ -3251,12 +3251,12 @@ void Vehicle::UpdateDeparting()
|
|||
{
|
||||
if (_vehicleBreakdown == BREAKDOWN_SAFETY_CUT_OUT)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ZERO_VELOCITY);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
SetFlag(VehicleFlags::StoppedOnLift);
|
||||
ClearFlag(VehicleFlags::CollisionDisabled);
|
||||
}
|
||||
}
|
||||
else
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
ClearFlag(VehicleFlags::CollisionDisabled);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -3269,12 +3269,12 @@ void Vehicle::UpdateDeparting()
|
|||
{
|
||||
if (_vehicleBreakdown == BREAKDOWN_SAFETY_CUT_OUT)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ZERO_VELOCITY);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
SetFlag(VehicleFlags::StoppedOnLift);
|
||||
ClearFlag(VehicleFlags::CollisionDisabled);
|
||||
}
|
||||
}
|
||||
else
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
ClearFlag(VehicleFlags::CollisionDisabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3493,7 +3493,7 @@ void Vehicle::UpdateCollisionSetup()
|
|||
VehicleCrashParticle::Create(train->colours, trainLoc);
|
||||
}
|
||||
|
||||
train->SetUpdateFlag(VEHICLE_UPDATE_FLAG_CRASHED);
|
||||
train->SetFlag(VehicleFlags::Crashed);
|
||||
train->animationState = ScenarioRand() & 0xFFFF;
|
||||
|
||||
train->animation_frame = ScenarioRand() & 0x7;
|
||||
|
@ -3675,7 +3675,7 @@ void Vehicle::UpdateTravelling()
|
|||
}
|
||||
if (curRide->mode == RideMode::Shuttle)
|
||||
{
|
||||
Flags ^= VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE;
|
||||
Flags ^= VehicleFlags::PoweredCarInReverse;
|
||||
velocity = 0;
|
||||
}
|
||||
else
|
||||
|
@ -3724,7 +3724,7 @@ void Vehicle::UpdateTravelling()
|
|||
if (velocity != 0)
|
||||
sound2_flags |= VEHICLE_SOUND2_FLAGS_LIFT_HILL;
|
||||
|
||||
if (!HasUpdateFlag(VEHICLE_UPDATE_FLAG_12))
|
||||
if (!HasFlag(VehicleFlags::ReverseInclineCompletedLap))
|
||||
{
|
||||
if (velocity >= curRide->lift_hill_speed * -31079)
|
||||
{
|
||||
|
@ -3733,7 +3733,7 @@ void Vehicle::UpdateTravelling()
|
|||
if (_vehicleBreakdown == 0)
|
||||
{
|
||||
sound2_flags &= ~VEHICLE_SOUND2_FLAGS_LIFT_HILL;
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ZERO_VELOCITY);
|
||||
SetFlag(VehicleFlags::StoppedOnLift);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3749,7 +3749,7 @@ void Vehicle::UpdateTravelling()
|
|||
{
|
||||
if (_vehicleBreakdown == 0)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ZERO_VELOCITY);
|
||||
SetFlag(VehicleFlags::StoppedOnLift);
|
||||
sound2_flags &= ~VEHICLE_SOUND2_FLAGS_LIFT_HILL;
|
||||
}
|
||||
}
|
||||
|
@ -3764,7 +3764,8 @@ void Vehicle::UpdateTravelling()
|
|||
if (!(curFlags & VEHICLE_UPDATE_MOTION_TRACK_FLAG_3))
|
||||
return;
|
||||
|
||||
if (curRide->mode == RideMode::ReverseInclineLaunchedShuttle && velocity >= 0 && !HasUpdateFlag(VEHICLE_UPDATE_FLAG_12))
|
||||
if (curRide->mode == RideMode::ReverseInclineLaunchedShuttle && velocity >= 0
|
||||
&& !HasFlag(VehicleFlags::ReverseInclineCompletedLap))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -3853,7 +3854,7 @@ void Vehicle::UpdateArrivingPassThroughStation(const Ride& curRide, const CarEnt
|
|||
if (GetRideTypeDescriptor(curRide.type).HasFlag(RIDE_TYPE_FLAG_ALLOW_MULTIPLE_CIRCUITS)
|
||||
&& curRide.mode != RideMode::Shuttle && curRide.mode != RideMode::PoweredLaunch)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_12);
|
||||
SetFlag(VehicleFlags::ReverseInclineCompletedLap);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3894,7 +3895,7 @@ void Vehicle::UpdateArriving()
|
|||
case RideMode::SpaceRings:
|
||||
case RideMode::HauntedHouse:
|
||||
case RideMode::CrookedHouse:
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_12);
|
||||
ClearFlag(VehicleFlags::ReverseInclineCompletedLap);
|
||||
velocity = 0;
|
||||
acceleration = 0;
|
||||
SetState(Vehicle::Status::UnloadingPassengers);
|
||||
|
@ -3965,7 +3966,7 @@ void Vehicle::UpdateArriving()
|
|||
return;
|
||||
}
|
||||
|
||||
if (NumLaps == curRide->num_circuits && HasUpdateFlag(VEHICLE_UPDATE_FLAG_12))
|
||||
if (NumLaps == curRide->num_circuits && HasFlag(VehicleFlags::ReverseInclineCompletedLap))
|
||||
{
|
||||
SetState(Vehicle::Status::Departing, 1);
|
||||
return;
|
||||
|
@ -3993,7 +3994,7 @@ void Vehicle::UpdateArriving()
|
|||
return;
|
||||
}
|
||||
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_12);
|
||||
ClearFlag(VehicleFlags::ReverseInclineCompletedLap);
|
||||
velocity = 0;
|
||||
acceleration = 0;
|
||||
SetState(Vehicle::Status::UnloadingPassengers);
|
||||
|
@ -4052,7 +4053,7 @@ void Vehicle::UpdateUnloadingPassengers()
|
|||
if (sub_state != 1)
|
||||
return;
|
||||
|
||||
if (!(curRide->lifecycle_flags & RIDE_LIFECYCLE_TESTED) && HasUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING)
|
||||
if (!(curRide->lifecycle_flags & RIDE_LIFECYCLE_TESTED) && HasFlag(VehicleFlags::Testing)
|
||||
&& curRide->current_test_segment + 1 >= curRide->num_stations)
|
||||
{
|
||||
UpdateTestFinish();
|
||||
|
@ -4092,7 +4093,7 @@ void Vehicle::UpdateUnloadingPassengers()
|
|||
return;
|
||||
}
|
||||
|
||||
if (!(curRide->lifecycle_flags & RIDE_LIFECYCLE_TESTED) && HasUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING)
|
||||
if (!(curRide->lifecycle_flags & RIDE_LIFECYCLE_TESTED) && HasFlag(VehicleFlags::Testing)
|
||||
&& curRide->current_test_segment + 1 >= curRide->num_stations)
|
||||
{
|
||||
UpdateTestFinish();
|
||||
|
@ -4133,7 +4134,7 @@ void Vehicle::UpdateTravellingCableLift()
|
|||
|
||||
if (sub_state == 0)
|
||||
{
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_TRAIN))
|
||||
if (HasFlag(VehicleFlags::TrainIsBroken))
|
||||
{
|
||||
if (curRide->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)
|
||||
return;
|
||||
|
@ -4154,7 +4155,7 @@ void Vehicle::UpdateTravellingCableLift()
|
|||
PeepEasterEggHereWeAre();
|
||||
if (!(curRide->lifecycle_flags & RIDE_LIFECYCLE_TESTED))
|
||||
{
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING))
|
||||
if (HasFlag(VehicleFlags::Testing))
|
||||
{
|
||||
if (curRide->current_test_segment + 1 < curRide->num_stations)
|
||||
{
|
||||
|
@ -4514,7 +4515,7 @@ void Vehicle::UpdateMotionBoatHire()
|
|||
{
|
||||
eax = speed << 14;
|
||||
int32_t ebx = (speed * curMass) >> 2;
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE))
|
||||
if (HasFlag(VehicleFlags::PoweredCarInReverse))
|
||||
{
|
||||
eax = -eax;
|
||||
}
|
||||
|
@ -5274,7 +5275,7 @@ void Vehicle::CrashOnLand()
|
|||
while (numParticles-- != 0)
|
||||
VehicleCrashParticle::Create(colours, curLoc);
|
||||
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_CRASHED);
|
||||
SetFlag(VehicleFlags::Crashed);
|
||||
animation_frame = 0;
|
||||
animationState = 0;
|
||||
sprite_width = 13;
|
||||
|
@ -5343,7 +5344,7 @@ void Vehicle::CrashOnWater()
|
|||
for (int32_t i = 0; i < 10; ++i)
|
||||
VehicleCrashParticle::Create(colours, curLoc + CoordsXYZ{ -4, 8, 0 });
|
||||
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_CRASHED);
|
||||
SetFlag(VehicleFlags::Crashed);
|
||||
animation_frame = 0;
|
||||
animationState = 0;
|
||||
sprite_width = 13;
|
||||
|
@ -5902,7 +5903,7 @@ int32_t Vehicle::UpdateMotionDodgems()
|
|||
|
||||
int32_t momentum = (speed * mass) >> 2;
|
||||
int32_t _eax = speed << 14;
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE))
|
||||
if (HasFlag(VehicleFlags::PoweredCarInReverse))
|
||||
{
|
||||
_eax = -_eax;
|
||||
}
|
||||
|
@ -6164,16 +6165,16 @@ void Vehicle::CheckAndApplyBlockSectionStopSite()
|
|||
void Vehicle::UpdateVelocity()
|
||||
{
|
||||
int32_t nextVelocity = acceleration + velocity;
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_ZERO_VELOCITY))
|
||||
if (HasFlag(VehicleFlags::StoppedOnLift))
|
||||
{
|
||||
nextVelocity = 0;
|
||||
}
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_BRAKE_FOR_DROP))
|
||||
if (HasFlag(VehicleFlags::StoppedOnHoldingBrake))
|
||||
{
|
||||
vertical_drop_countdown--;
|
||||
if (vertical_drop_countdown == -70)
|
||||
{
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_ON_BRAKE_FOR_DROP);
|
||||
ClearFlag(VehicleFlags::StoppedOnHoldingBrake);
|
||||
}
|
||||
if (vertical_drop_countdown >= 0)
|
||||
{
|
||||
|
@ -6460,7 +6461,7 @@ void Vehicle::UpdateSwingingCar()
|
|||
cx = 0;
|
||||
}
|
||||
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL))
|
||||
if (HasFlag(VehicleFlags::OnLiftHill))
|
||||
{
|
||||
dx = 0;
|
||||
cx = 0;
|
||||
|
@ -6496,7 +6497,7 @@ void Vehicle::UpdateSwingingCar()
|
|||
*/
|
||||
void Vehicle::UpdateSpinningCar()
|
||||
{
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_ROTATION_OFF_WILD_MOUSE))
|
||||
if (HasFlag(VehicleFlags::SpinningIsLocked))
|
||||
{
|
||||
spin_speed = 0;
|
||||
return;
|
||||
|
@ -6929,9 +6930,9 @@ static PitchAndRoll PitchAndRollStart(bool useInvertedSprites, TileElement* tile
|
|||
void Vehicle::UpdateGoKartAttemptSwitchLanes()
|
||||
{
|
||||
uint16_t probability = 0x8000;
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_6))
|
||||
if (HasFlag(VehicleFlags::CurrentlyColliding))
|
||||
{
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_6);
|
||||
ClearFlag(VehicleFlags::CurrentlyColliding);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -7082,7 +7083,7 @@ bool Vehicle::IsCableLift() const
|
|||
*/
|
||||
bool Vehicle::UpdateMotionCollisionDetection(const CoordsXYZ& loc, EntityId* otherVehicleIndex)
|
||||
{
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED))
|
||||
if (HasFlag(VehicleFlags::CollisionDisabled))
|
||||
return false;
|
||||
|
||||
auto carEntry = Entry();
|
||||
|
@ -7217,7 +7218,7 @@ bool Vehicle::UpdateMotionCollisionDetection(const CoordsXYZ& loc, EntityId* oth
|
|||
CollisionDetectionTimer++;
|
||||
if (CollisionDetectionTimer < 200)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_6);
|
||||
SetFlag(VehicleFlags::CurrentlyColliding);
|
||||
if (otherVehicleIndex != nullptr)
|
||||
*otherVehicleIndex = collideVehicle->Id;
|
||||
return true;
|
||||
|
@ -7263,7 +7264,7 @@ bool Vehicle::UpdateMotionCollisionDetection(const CoordsXYZ& loc, EntityId* oth
|
|||
return false;
|
||||
}
|
||||
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_6);
|
||||
SetFlag(VehicleFlags::CurrentlyColliding);
|
||||
if (otherVehicleIndex != nullptr)
|
||||
*otherVehicleIndex = collideVehicle->Id;
|
||||
return true;
|
||||
|
@ -7333,7 +7334,7 @@ void Vehicle::Sub6DBF3E()
|
|||
|
||||
if (trackType == TrackElemType::TowerBase && this == gCurrentVehicle)
|
||||
{
|
||||
if (track_progress > 3 && !HasUpdateFlag(VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE))
|
||||
if (track_progress > 3 && !HasFlag(VehicleFlags::PoweredCarInReverse))
|
||||
{
|
||||
CoordsXYE output;
|
||||
int32_t outputZ, outputDirection;
|
||||
|
@ -7484,20 +7485,20 @@ bool Vehicle::UpdateTrackMotionForwardsGetNewTrack(uint16_t trackType, const Rid
|
|||
}
|
||||
}
|
||||
|
||||
if (PitchAndRollStart(HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES), tileElement) != pitchAndRollEnd)
|
||||
if (PitchAndRollStart(HasFlag(VehicleFlags::CarIsInverted), tileElement) != pitchAndRollEnd)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Update VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES flag
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES);
|
||||
// Update VehicleFlags::CarIsInverted flag
|
||||
ClearFlag(VehicleFlags::CarIsInverted);
|
||||
{
|
||||
int32_t rideType = ::GetRide(tileElement->AsTrack()->GetRideIndex())->type;
|
||||
if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE))
|
||||
{
|
||||
if (tileElement->AsTrack()->IsInverted())
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES);
|
||||
SetFlag(VehicleFlags::CarIsInverted);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -7537,11 +7538,11 @@ bool Vehicle::UpdateTrackMotionForwardsGetNewTrack(uint16_t trackType, const Rid
|
|||
}
|
||||
|
||||
// Loc6DB500
|
||||
// Update VEHICLE_UPDATE_FLAG_ON_LIFT_HILL
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL);
|
||||
// Update VehicleFlags::OnLiftHill
|
||||
ClearFlag(VehicleFlags::OnLiftHill);
|
||||
if (tileElement->AsTrack()->HasChain())
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL);
|
||||
SetFlag(VehicleFlags::OnLiftHill);
|
||||
}
|
||||
|
||||
trackType = tileElement->AsTrack()->GetTrackType();
|
||||
|
@ -7558,7 +7559,7 @@ bool Vehicle::UpdateTrackMotionForwardsGetNewTrack(uint16_t trackType, const Rid
|
|||
}
|
||||
if (trackType == TrackElemType::RotationControlToggle)
|
||||
{
|
||||
Flags ^= VEHICLE_UPDATE_FLAG_ROTATION_OFF_WILD_MOUSE;
|
||||
Flags ^= VehicleFlags::SpinningIsLocked;
|
||||
}
|
||||
// Change from original: this used to check if the vehicle allowed doors.
|
||||
UpdateSceneryDoorBackwards();
|
||||
|
@ -7636,14 +7637,14 @@ Loc6DAEB9:
|
|||
{
|
||||
if (IsHead())
|
||||
{
|
||||
if (!HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_BRAKE_FOR_DROP))
|
||||
if (!HasFlag(VehicleFlags::StoppedOnHoldingBrake))
|
||||
{
|
||||
if (track_progress >= 8)
|
||||
{
|
||||
acceleration = -_vehicleVelocityF64E08 * 16;
|
||||
if (track_progress >= 24)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ON_BRAKE_FOR_DROP);
|
||||
SetFlag(VehicleFlags::StoppedOnHoldingBrake);
|
||||
vertical_drop_countdown = 90;
|
||||
}
|
||||
}
|
||||
|
@ -7863,19 +7864,18 @@ bool Vehicle::UpdateTrackMotionBackwardsGetNewTrack(uint16_t trackType, const Ri
|
|||
return false;
|
||||
}
|
||||
|
||||
if (PitchAndRollEnd(curRide, HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES), trackType, tileElement)
|
||||
!= pitchAndRollStart)
|
||||
if (PitchAndRollEnd(curRide, HasFlag(VehicleFlags::CarIsInverted), trackType, tileElement) != pitchAndRollStart)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Update VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES);
|
||||
// Update VehicleFlags::CarIsInverted
|
||||
ClearFlag(VehicleFlags::CarIsInverted);
|
||||
if (GetRideTypeDescriptor(curRide.type).HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE))
|
||||
{
|
||||
if (tileElement->AsTrack()->IsInverted())
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES);
|
||||
SetFlag(VehicleFlags::CarIsInverted);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7931,14 +7931,14 @@ bool Vehicle::UpdateTrackMotionBackwardsGetNewTrack(uint16_t trackType, const Ri
|
|||
_vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_9;
|
||||
}
|
||||
}
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL);
|
||||
SetFlag(VehicleFlags::OnLiftHill);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL))
|
||||
if (HasFlag(VehicleFlags::OnLiftHill))
|
||||
{
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL);
|
||||
ClearFlag(VehicleFlags::OnLiftHill);
|
||||
if (next_vehicle_on_train.IsNull())
|
||||
{
|
||||
if (_vehicleVelocityF64E08 < 0)
|
||||
|
@ -8126,7 +8126,7 @@ void Vehicle::UpdateTrackMotionMiniGolfVehicle(const Ride& curRide, const RideOb
|
|||
|
||||
_vehicleUnkF64E10 = 1;
|
||||
acceleration = AccelerationFromPitch[Pitch];
|
||||
if (!HasUpdateFlag(VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION))
|
||||
if (!HasFlag(VehicleFlags::MoveSingleCar))
|
||||
{
|
||||
remaining_distance = _vehicleVelocityF64E0C + remaining_distance;
|
||||
}
|
||||
|
@ -8252,20 +8252,19 @@ Loc6DC476:
|
|||
direction = outDirection;
|
||||
}
|
||||
|
||||
if (PitchAndRollStart(HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES), tileElement)
|
||||
!= TrackPitchAndRollEnd(GetTrackType()))
|
||||
if (PitchAndRollStart(HasFlag(VehicleFlags::CarIsInverted), tileElement) != TrackPitchAndRollEnd(GetTrackType()))
|
||||
{
|
||||
goto Loc6DC9BC;
|
||||
}
|
||||
|
||||
{
|
||||
int32_t rideType = ::GetRide(tileElement->AsTrack()->GetRideIndex())->type;
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES);
|
||||
ClearFlag(VehicleFlags::CarIsInverted);
|
||||
if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE))
|
||||
{
|
||||
if (tileElement->AsTrack()->IsInverted())
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES);
|
||||
SetFlag(VehicleFlags::CarIsInverted);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8285,7 +8284,7 @@ Loc6DC476:
|
|||
}
|
||||
}
|
||||
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL);
|
||||
ClearFlag(VehicleFlags::OnLiftHill);
|
||||
SetTrackType(tileElement->AsTrack()->GetTrackType());
|
||||
SetTrackDirection(direction);
|
||||
brake_speed = tileElement->AsTrack()->GetBrakeBoosterSpeed();
|
||||
|
@ -8466,29 +8465,28 @@ Loc6DCA9A:
|
|||
tileElement = trackBeginEnd.begin_element;
|
||||
}
|
||||
|
||||
if (PitchAndRollStart(HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES), tileElement)
|
||||
!= TrackPitchAndRollEnd(GetTrackType()))
|
||||
if (PitchAndRollStart(HasFlag(VehicleFlags::CarIsInverted), tileElement) != TrackPitchAndRollEnd(GetTrackType()))
|
||||
{
|
||||
goto Loc6DCD4A;
|
||||
}
|
||||
|
||||
{
|
||||
int32_t rideType = ::GetRide(tileElement->AsTrack()->GetRideIndex())->type;
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES);
|
||||
ClearFlag(VehicleFlags::CarIsInverted);
|
||||
if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_HAS_ALTERNATIVE_TRACK_TYPE))
|
||||
{
|
||||
if (tileElement->AsTrack()->IsInverted())
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES);
|
||||
SetFlag(VehicleFlags::CarIsInverted);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TrackLocation = trackPos;
|
||||
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL))
|
||||
if (HasFlag(VehicleFlags::OnLiftHill))
|
||||
{
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL);
|
||||
ClearFlag(VehicleFlags::OnLiftHill);
|
||||
if (next_vehicle_on_train.IsNull())
|
||||
{
|
||||
if (_vehicleVelocityF64E08 < 0)
|
||||
|
@ -8687,7 +8685,7 @@ int32_t Vehicle::UpdateTrackMotionMiniGolfCalculateAcceleration(const CarEntry&
|
|||
{
|
||||
int32_t poweredAcceleration = speed << 14;
|
||||
int32_t quarterForce = (speed * totalMass) >> 2;
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE))
|
||||
if (HasFlag(VehicleFlags::PoweredCarInReverse))
|
||||
{
|
||||
poweredAcceleration = -poweredAcceleration;
|
||||
}
|
||||
|
@ -8755,11 +8753,11 @@ int32_t Vehicle::UpdateTrackMotionMiniGolf(int32_t* outStation)
|
|||
for (Vehicle* vehicle = _vehicleFrontVehicle; vehicle != nullptr;)
|
||||
{
|
||||
vehicle->UpdateTrackMotionMiniGolfVehicle(*curRide, *rideEntry, carEntry);
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL))
|
||||
if (vehicle->HasFlag(VehicleFlags::OnLiftHill))
|
||||
{
|
||||
_vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL;
|
||||
}
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION))
|
||||
if (vehicle->HasFlag(VehicleFlags::MoveSingleCar))
|
||||
{
|
||||
if (outStation != nullptr)
|
||||
*outStation = _vehicleStationIndex.ToUnderlying();
|
||||
|
@ -8838,7 +8836,7 @@ int32_t Vehicle::UpdateTrackMotionPoweredRideAcceleration(
|
|||
uint8_t modifiedSpeed = modified_speed(GetTrackType(), TrackSubposition, speed);
|
||||
int32_t poweredAcceleration = modifiedSpeed << 14;
|
||||
int32_t quarterForce = (modifiedSpeed * totalMass) >> 2;
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE))
|
||||
if (HasFlag(VehicleFlags::PoweredCarInReverse))
|
||||
{
|
||||
poweredAcceleration = -poweredAcceleration;
|
||||
}
|
||||
|
@ -8926,7 +8924,7 @@ int32_t Vehicle::UpdateTrackMotion(int32_t* outStation)
|
|||
UpdateVelocity();
|
||||
|
||||
Vehicle* vehicle = this;
|
||||
if (_vehicleVelocityF64E08 < 0 && !vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION))
|
||||
if (_vehicleVelocityF64E08 < 0 && !vehicle->HasFlag(VehicleFlags::MoveSingleCar))
|
||||
{
|
||||
vehicle = vehicle->TrainTail();
|
||||
}
|
||||
|
@ -8966,7 +8964,7 @@ int32_t Vehicle::UpdateTrackMotion(int32_t* outStation)
|
|||
car->acceleration = AccelerationFromPitch[car->Pitch];
|
||||
_vehicleUnkF64E10 = 1;
|
||||
|
||||
if (!car->HasUpdateFlag(VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION))
|
||||
if (!car->HasFlag(VehicleFlags::MoveSingleCar))
|
||||
{
|
||||
car->remaining_distance += _vehicleVelocityF64E0C;
|
||||
}
|
||||
|
@ -9020,11 +9018,11 @@ int32_t Vehicle::UpdateTrackMotion(int32_t* outStation)
|
|||
car->Sub6DBF3E();
|
||||
|
||||
// Loc6DC0F7
|
||||
if (car->HasUpdateFlag(VEHICLE_UPDATE_FLAG_ON_LIFT_HILL))
|
||||
if (car->HasFlag(VehicleFlags::OnLiftHill))
|
||||
{
|
||||
_vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_ON_LIFT_HILL;
|
||||
}
|
||||
if (car->HasUpdateFlag(VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION))
|
||||
if (car->HasFlag(VehicleFlags::MoveSingleCar))
|
||||
{
|
||||
if (outStation != nullptr)
|
||||
*outStation = _vehicleStationIndex.ToUnderlying();
|
||||
|
@ -9171,7 +9169,7 @@ void Vehicle::UpdateCrossings() const
|
|||
const Vehicle* frontVehicle{};
|
||||
const Vehicle* backVehicle{};
|
||||
|
||||
bool travellingForwards = !HasUpdateFlag(VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE);
|
||||
bool travellingForwards = !HasFlag(VehicleFlags::PoweredCarInReverse);
|
||||
|
||||
if (travellingForwards)
|
||||
{
|
||||
|
@ -9345,7 +9343,7 @@ void Vehicle::EnableCollisionsForTrain()
|
|||
assert(this->IsHead());
|
||||
for (auto vehicle = this; vehicle != nullptr; vehicle = GetEntity<Vehicle>(vehicle->next_vehicle_on_train))
|
||||
{
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
vehicle->ClearFlag(VehicleFlags::CollisionDisabled);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -255,15 +255,15 @@ struct Vehicle : EntityBase
|
|||
TrackTypeAndDirection &= ~VehicleTrackDirectionMask;
|
||||
TrackTypeAndDirection |= trackDirection & VehicleTrackDirectionMask;
|
||||
}
|
||||
bool HasUpdateFlag(uint32_t flag) const
|
||||
bool HasFlag(uint32_t flag) const
|
||||
{
|
||||
return (Flags & flag) != 0;
|
||||
}
|
||||
void ClearUpdateFlag(uint32_t flag)
|
||||
void ClearFlag(uint32_t flag)
|
||||
{
|
||||
Flags &= ~flag;
|
||||
}
|
||||
void SetUpdateFlag(uint32_t flag)
|
||||
void SetFlag(uint32_t flag)
|
||||
{
|
||||
Flags |= flag;
|
||||
}
|
||||
|
@ -437,27 +437,29 @@ enum
|
|||
CAR_ENTRY_ANIMATION_ANIMAL_FLYING // OpenRCT2-specific feature
|
||||
};
|
||||
|
||||
enum : uint32_t
|
||||
namespace VehicleFlags
|
||||
{
|
||||
VEHICLE_UPDATE_FLAG_ON_LIFT_HILL = (1 << 0),
|
||||
VEHICLE_UPDATE_FLAG_COLLISION_DISABLED = (1 << 1),
|
||||
VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT = (1 << 2),
|
||||
VEHICLE_UPDATE_FLAG_REVERSING_SHUTTLE = (1 << 3), // Shuttle is in reverse
|
||||
VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART = (1 << 4),
|
||||
VEHICLE_UPDATE_FLAG_TESTING = (1 << 5),
|
||||
VEHICLE_UPDATE_FLAG_6 = (1 << 6),
|
||||
VEHICLE_UPDATE_FLAG_ZERO_VELOCITY = (1 << 7), // Used on rides when safety cutout stops them on a lift
|
||||
VEHICLE_UPDATE_FLAG_BROKEN_CAR = (1 << 8),
|
||||
VEHICLE_UPDATE_FLAG_BROKEN_TRAIN = (1 << 9),
|
||||
VEHICLE_UPDATE_FLAG_ON_BRAKE_FOR_DROP = (1 << 10),
|
||||
VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES = (1 << 11), // Used on rides where trains can run for extended periods of time,
|
||||
// i.e. the Flying, Lay-down and Multi-dimension RCs.
|
||||
VEHICLE_UPDATE_FLAG_12 = (1 << 12),
|
||||
VEHICLE_UPDATE_FLAG_ROTATION_OFF_WILD_MOUSE = (1 << 13), // After passing a rotation toggle track piece this will enable
|
||||
VEHICLE_UPDATE_FLAG_SINGLE_CAR_POSITION = (1 << 14), // OpenRCT2 Flag: Used to override UpdateMotion to move the position of
|
||||
// an individual car on a train
|
||||
VEHICLE_UPDATE_FLAG_CRASHED = (1 << 15),
|
||||
};
|
||||
constexpr uint32_t OnLiftHill = (1 << 0);
|
||||
constexpr uint32_t CollisionDisabled = (1 << 1);
|
||||
constexpr uint32_t WaitingOnAdjacentStation = (1 << 2);
|
||||
constexpr uint32_t PoweredCarInReverse = (1 << 3);
|
||||
constexpr uint32_t ReadyToDepart = (1 << 4);
|
||||
constexpr uint32_t Testing = (1 << 5);
|
||||
constexpr uint32_t CurrentlyColliding = (1 << 6); // When go-karts are colliding, they have a higher chance of changing
|
||||
// lanes
|
||||
constexpr uint32_t StoppedOnLift = (1 << 7); // Used on rides when safety cutout stops them on a lift
|
||||
constexpr uint32_t CarIsBroken = (1 << 8);
|
||||
constexpr uint32_t TrainIsBroken = (1 << 9);
|
||||
constexpr uint32_t StoppedOnHoldingBrake = (1 << 10);
|
||||
constexpr uint32_t CarIsInverted = (1 << 11); // Used on rides where trains can run for extended periods of time,
|
||||
// i.e. the Flying, Lay-down and Multi-dimension RCs.
|
||||
constexpr uint32_t ReverseInclineCompletedLap = (1 << 12); // Set when the vehicle travels backwards through the station for
|
||||
// the first time
|
||||
constexpr uint32_t SpinningIsLocked = (1 << 13); // After passing a rotation toggle track piece this will enable
|
||||
constexpr uint32_t MoveSingleCar = (1 << 14); // OpenRCT2 Flag: Used to override UpdateMotion to move the position of
|
||||
// an individual car on a train
|
||||
constexpr uint32_t Crashed = (1 << 15); // Car displays as smoke plume
|
||||
} // namespace VehicleFlags
|
||||
|
||||
enum
|
||||
{
|
||||
|
|
|
@ -1116,7 +1116,7 @@ static void VehiclePitchFlatBankedRight45(
|
|||
static void VehiclePitchFlatBankedLeft67(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -1136,7 +1136,7 @@ static void VehiclePitchFlatBankedLeft67(
|
|||
static void VehiclePitchFlatBankedLeft90(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -1156,7 +1156,7 @@ static void VehiclePitchFlatBankedLeft90(
|
|||
static void VehiclePitchFlatBankedLeft112(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -1176,7 +1176,7 @@ static void VehiclePitchFlatBankedLeft112(
|
|||
static void VehiclePitchFlatBankedLeft135(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -1196,7 +1196,7 @@ static void VehiclePitchFlatBankedLeft135(
|
|||
static void VehiclePitchFlatBankedLeft157(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -1216,7 +1216,7 @@ static void VehiclePitchFlatBankedLeft157(
|
|||
static void VehiclePitchFlatBankedRight67(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -1236,7 +1236,7 @@ static void VehiclePitchFlatBankedRight67(
|
|||
static void VehiclePitchFlatBankedRight90(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -1256,7 +1256,7 @@ static void VehiclePitchFlatBankedRight90(
|
|||
static void VehiclePitchFlatBankedRight112(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -1276,7 +1276,7 @@ static void VehiclePitchFlatBankedRight112(
|
|||
static void VehiclePitchFlatBankedRight135(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -1296,7 +1296,7 @@ static void VehiclePitchFlatBankedRight135(
|
|||
static void VehiclePitchFlatBankedRight157(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -2963,7 +2963,7 @@ static void VehiclePitchInverted(
|
|||
static void VehiclePitchDown75(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
if (vehicle->GetTrackType() != TrackElemType::Down90ToDown60
|
||||
&& (vehicle->GetTrackType()) != TrackElemType::Down60ToDown90)
|
||||
|
@ -2987,7 +2987,7 @@ static void VehiclePitchDown75(
|
|||
static void VehiclePitchDown90(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
if (vehicle->GetTrackType() != TrackElemType::Down90 && (vehicle->GetTrackType()) != TrackElemType::Down90ToDown60
|
||||
&& (vehicle->GetTrackType()) != TrackElemType::Down60ToDown90)
|
||||
|
@ -3015,7 +3015,7 @@ static void VehiclePitchDown90(
|
|||
static void VehiclePitchDown105(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -3035,7 +3035,7 @@ static void VehiclePitchDown105(
|
|||
static void VehiclePitchDown120(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -3055,7 +3055,7 @@ static void VehiclePitchDown120(
|
|||
static void VehiclePitchDown135(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -3075,7 +3075,7 @@ static void VehiclePitchDown135(
|
|||
static void VehiclePitchDown150(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -3095,7 +3095,7 @@ static void VehiclePitchDown150(
|
|||
static void VehiclePitchDown165(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -3120,7 +3120,7 @@ template<int32_t corkscrewFrame>
|
|||
void VehiclePitchCorkscrew(
|
||||
PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry)
|
||||
{
|
||||
if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (vehicle->HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntry--;
|
||||
}
|
||||
|
@ -3671,7 +3671,7 @@ void Vehicle::Paint(PaintSession& session, int32_t imageDirection) const
|
|||
{
|
||||
const CarEntry* carEntry;
|
||||
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_CRASHED))
|
||||
if (HasFlag(VehicleFlags::Crashed))
|
||||
{
|
||||
PaintAddImageAsParent(
|
||||
session, ImageId(SPR_WATER_PARTICLES_DENSE_0 + animation_frame), { 0, 0, z }, { 1, 1, 0 }, { 0, 0, z + 2 });
|
||||
|
@ -3692,7 +3692,7 @@ void Vehicle::Paint(PaintSession& session, int32_t imageDirection) const
|
|||
}
|
||||
|
||||
auto carEntryIndex = vehicle_type;
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES))
|
||||
if (HasFlag(VehicleFlags::CarIsInverted))
|
||||
{
|
||||
carEntryIndex++;
|
||||
zOffset += 16;
|
||||
|
|
Loading…
Reference in New Issue