mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-20 13:33:02 +01:00
Rename VEHICLE_UPDATE_FLAG_1 to COLLISION_DISABLED (#13363)
Rename VEHICLE_UPDATE_FLAG_1
This commit is contained in:
@@ -74,7 +74,7 @@ Vehicle* cable_lift_segment_create(
|
||||
current->MoveTo({ 16, 16, z });
|
||||
current->track_type = (TrackElemType::CableLiftHill << 2) | (current->sprite_direction >> 3);
|
||||
current->track_progress = 164;
|
||||
current->update_flags = VEHICLE_UPDATE_FLAG_1;
|
||||
current->update_flags = VEHICLE_UPDATE_FLAG_COLLISION_DISABLED;
|
||||
current->SetState(Vehicle::Status::MovingToEndOfStation, 0);
|
||||
current->num_peeps = 0;
|
||||
current->next_free_seat = 0;
|
||||
|
||||
@@ -4530,7 +4530,7 @@ static Vehicle* vehicle_create_car(
|
||||
{
|
||||
vehicle->track_progress = 15;
|
||||
}
|
||||
vehicle->update_flags = VEHICLE_UPDATE_FLAG_1;
|
||||
vehicle->update_flags = VEHICLE_UPDATE_FLAG_COLLISION_DISABLED;
|
||||
if (vehicleEntry->flags & VEHICLE_ENTRY_FLAG_HAS_INVERTED_SPRITE_SET)
|
||||
{
|
||||
if (trackElement->IsInverted())
|
||||
@@ -4631,14 +4631,6 @@ static void vehicle_create_trains(ride_id_t rideIndex, const CoordsXYZ& trainsPo
|
||||
lastTrain.tail->next_vehicle_on_ride = firstTrain.head->sprite_index;
|
||||
}
|
||||
|
||||
static void vehicle_unset_update_flag_b1(Vehicle* head)
|
||||
{
|
||||
for (auto vehicle = head; vehicle != nullptr; vehicle = GetEntity<Vehicle>(vehicle->next_vehicle_on_train))
|
||||
{
|
||||
vehicle->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006DDE9E
|
||||
@@ -4783,7 +4775,7 @@ static bool ride_create_vehicles(Ride* ride, const CoordsXYE& element, int32_t i
|
||||
vehicle->UpdateTrackMotion(nullptr);
|
||||
}
|
||||
|
||||
vehicle_unset_update_flag_b1(vehicle);
|
||||
vehicle->EnableCollisionsForTrain();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4806,7 +4798,7 @@ void loc_6DDF9C(Ride* ride, TileElement* tileElement)
|
||||
if (i == 0)
|
||||
{
|
||||
train->UpdateTrackMotion(nullptr);
|
||||
vehicle_unset_update_flag_b1(train);
|
||||
train->EnableCollisionsForTrain();
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -4827,7 +4819,7 @@ void loc_6DDF9C(Ride* ride, TileElement* tileElement)
|
||||
tileElement->AsTrack()->SetBlockBrakeClosed(true);
|
||||
for (Vehicle* car = train; car != nullptr; car = GetEntity<Vehicle>(car->next_vehicle_on_train))
|
||||
{
|
||||
car->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_1);
|
||||
car->ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
car->SetState(Vehicle::Status::Travelling, car->sub_state);
|
||||
if ((car->GetTrackType()) == TrackElemType::EndStation)
|
||||
{
|
||||
|
||||
@@ -3340,11 +3340,11 @@ void Vehicle::UpdateDeparting()
|
||||
if (_vehicleBreakdown == BREAKDOWN_SAFETY_CUT_OUT)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ZERO_VELOCITY);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_1);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
}
|
||||
}
|
||||
else
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_1);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -3358,11 +3358,11 @@ void Vehicle::UpdateDeparting()
|
||||
if (_vehicleBreakdown == BREAKDOWN_SAFETY_CUT_OUT)
|
||||
{
|
||||
SetUpdateFlag(VEHICLE_UPDATE_FLAG_ZERO_VELOCITY);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_1);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
}
|
||||
}
|
||||
else
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_1);
|
||||
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7620,7 +7620,7 @@ void Vehicle::UpdateReverserCarBogies()
|
||||
*/
|
||||
bool Vehicle::UpdateMotionCollisionDetection(const CoordsXYZ& loc, uint16_t* otherVehicleIndex)
|
||||
{
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_1))
|
||||
if (HasUpdateFlag(VEHICLE_UPDATE_FLAG_COLLISION_DISABLED))
|
||||
return false;
|
||||
|
||||
auto vehicleEntry = Entry();
|
||||
@@ -9886,3 +9886,12 @@ bool Vehicle::IsGhost() const
|
||||
auto r = GetRide();
|
||||
return r != nullptr && r->status == RIDE_STATUS_SIMULATING;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -331,6 +331,7 @@ struct Vehicle : SpriteBase
|
||||
Ride* GetRide() const;
|
||||
Vehicle* TrainHead() const;
|
||||
Vehicle* TrainTail() const;
|
||||
void EnableCollisionsForTrain();
|
||||
|
||||
uint16_t GetTrackType() const
|
||||
{
|
||||
@@ -513,7 +514,7 @@ enum
|
||||
enum : uint32_t
|
||||
{
|
||||
VEHICLE_UPDATE_FLAG_ON_LIFT_HILL = (1 << 0),
|
||||
VEHICLE_UPDATE_FLAG_1 = (1 << 1),
|
||||
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),
|
||||
|
||||
Reference in New Issue
Block a user