mirror of https://github.com/OpenRCT2/OpenRCT2.git
Refactor
This commit is contained in:
parent
7afc7453fd
commit
8ac940de47
|
@ -2210,8 +2210,7 @@ static void peep_update_ride_sub_state_2(rct_peep* peep){
|
|||
rct_vehicle *currentTrain = GET_VEHICLE(ride->vehicles[peep->current_train]);
|
||||
if (ride->status == RIDE_STATUS_OPEN &&
|
||||
++peep->var_AC != 0 &&
|
||||
!(vehicle->update_flags & VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART)
|
||||
) {
|
||||
!(currentTrain->update_flags & VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART)){
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -2261,6 +2261,10 @@ void ride_prepare_breakdown(int rideIndex, int breakdownReason)
|
|||
}
|
||||
if (vehicle != NULL)
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_BROKEN_CAR;
|
||||
vehicle = &(g_sprite_list[ride->vehicles[ride->broken_vehicle]].vehicle);
|
||||
for (i = ride->broken_car; i > 0; i--)
|
||||
vehicle = &(g_sprite_list[vehicle->next_vehicle_on_train].vehicle);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_BROKEN_CAR;
|
||||
break;
|
||||
case BREAKDOWN_VEHICLE_MALFUNCTION:
|
||||
// Choose a random train
|
||||
|
|
|
@ -531,7 +531,7 @@ static int sub_6D6A2C(rct_vehicle* vehicle){
|
|||
continue;
|
||||
}
|
||||
|
||||
if (vehicle->var_48 & (1 << 8) &&
|
||||
if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_BROKEN_CAR &&
|
||||
vehicle->var_B5 != 0xFF &&
|
||||
(
|
||||
ride->breakdown_reason_pending == BREAKDOWN_RESTRAINTS_STUCK_CLOSED ||
|
||||
|
@ -586,7 +586,7 @@ static void vehicle_update_measurements(rct_vehicle *vehicle)
|
|||
ride->lifecycle_flags |= RIDE_LIFECYCLE_TESTED;
|
||||
ride->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS;
|
||||
ride->lifecycle_flags &= ~RIDE_LIFECYCLE_TEST_IN_PROGRESS;
|
||||
vehicle->var_48 &= ~(1 << 5);
|
||||
vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_TESTING;
|
||||
window_invalidate_by_number(WC_RIDE, vehicle->ride);
|
||||
return;
|
||||
}
|
||||
|
@ -653,7 +653,7 @@ static void vehicle_update_measurements(rct_vehicle *vehicle)
|
|||
return;
|
||||
|
||||
uint16 track_elem_type = vehicle->track_type / 4;
|
||||
if (track_elem_type == TRACK_ELEM_POWERED_LIFT || !(vehicle->var_48 & (1 << 0))){
|
||||
if (track_elem_type == TRACK_ELEM_POWERED_LIFT || !(vehicle->update_flags & VEHICLE_UPDATE_FLAG_0)){
|
||||
if (!(ride->testing_flags & RIDE_TESTING_POWERED_LIFT)){
|
||||
ride->testing_flags |= RIDE_TESTING_POWERED_LIFT;
|
||||
if (ride->drops + 64 < 0xFF){
|
||||
|
@ -952,7 +952,7 @@ static void vehicle_update(rct_vehicle *vehicle)
|
|||
rct_ride_type_vehicle* vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type];
|
||||
|
||||
ride = GET_RIDE(vehicle->ride);
|
||||
if (vehicle->var_48 & 0x20)
|
||||
if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_TESTING)
|
||||
vehicle_update_measurements(vehicle);
|
||||
|
||||
RCT2_GLOBAL(0x00F64E34, uint8) = 255;
|
||||
|
@ -965,7 +965,7 @@ static void vehicle_update(rct_vehicle *vehicle)
|
|||
vehicle->velocity <= 0x20000
|
||||
)
|
||||
) {
|
||||
vehicle->var_48 |= 0x80;
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_15;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1156,7 +1156,7 @@ static void train_ready_to_depart(rct_vehicle* vehicle, uint8 num_peeps_on_train
|
|||
|
||||
if (ride->status == RIDE_STATUS_OPEN &&
|
||||
!(ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN) &&
|
||||
!(vehicle->var_48 & (1<<4))){
|
||||
!(vehicle->update_flags & VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART)){
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1231,7 +1231,7 @@ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){
|
|||
if (vehicle->var_C0 != 0xFFFF)
|
||||
vehicle->var_C0++;
|
||||
|
||||
vehicle->var_48 &= ~(1 << 4);
|
||||
vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
|
||||
// 0xF64E31, 0xF64E32, 0xF64E33
|
||||
uint8 num_peeps_on_train = 0, num_used_seats_on_train = 0, num_seats_on_train = 0;
|
||||
|
@ -1270,7 +1270,7 @@ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){
|
|||
}
|
||||
if (ride->depart_flags & RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH){
|
||||
if (ride->max_waiting_time * 32 < vehicle->var_C0){
|
||||
vehicle->var_48 |= (1 << 4);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -1292,7 +1292,7 @@ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){
|
|||
if (train->status == VEHICLE_STATUS_UNLOADING_PASSENGERS ||
|
||||
train->status == VEHICLE_STATUS_MOVING_TO_END_OF_STATION){
|
||||
if (train->current_station == vehicle->current_station){
|
||||
vehicle->var_48 |= (1 << 4);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -1304,7 +1304,7 @@ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){
|
|||
ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD){
|
||||
|
||||
if (num_peeps_on_train == num_seats_on_train){
|
||||
vehicle->var_48 |= (1 << 4);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -1317,7 +1317,7 @@ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){
|
|||
|
||||
uint8 three_quater_seats = (3 * num_seats_on_train) / 4;
|
||||
if (three_quater_seats != 0 && num_peeps_on_train >= three_quater_seats){
|
||||
vehicle->var_48 |= (1 << 4);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -1328,7 +1328,7 @@ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){
|
|||
}
|
||||
|
||||
if (num_seats_on_train / 2 != 0 && num_peeps_on_train >= num_seats_on_train / 2){
|
||||
vehicle->var_48 |= (1 << 4);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -1339,24 +1339,24 @@ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){
|
|||
}
|
||||
|
||||
if (num_seats_on_train / 4 != 0 && num_peeps_on_train >= num_seats_on_train / 4){
|
||||
vehicle->var_48 |= (1 << 4);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
||||
if (load == 0){
|
||||
vehicle->var_48 |= (1 << 4);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
||||
if (num_peeps_on_train != 0){
|
||||
vehicle->var_48 |= (1 << 4);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
}
|
||||
train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
vehicle->var_48 |= (1 << 4);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART;
|
||||
train_ready_to_depart(vehicle, num_peeps_on_train, num_used_seats_on_train);
|
||||
return;
|
||||
}
|
||||
|
@ -1367,10 +1367,10 @@ static void vehicle_update_waiting_for_passengers(rct_vehicle* vehicle){
|
|||
vehicle->velocity = 0;
|
||||
vehicle->status = VEHICLE_STATUS_WAITING_TO_DEPART;
|
||||
vehicle->var_51 = 0;
|
||||
vehicle->var_48 &= ~(1 << 2);
|
||||
vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT;
|
||||
|
||||
if (ride->depart_flags & RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS){
|
||||
vehicle->var_48 |= (1 << 2);
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT;
|
||||
}
|
||||
|
||||
vehicle_invalidate_window(vehicle);
|
||||
|
|
|
@ -267,6 +267,25 @@ enum {
|
|||
VEHICLE_VISUAL_SUBMARINE
|
||||
};
|
||||
|
||||
enum{
|
||||
VEHICLE_UPDATE_FLAG_0 = (1 << 0),
|
||||
VEHICLE_UPDATE_FLAG_1 = (1 << 1),
|
||||
VEHICLE_UPDATE_FLAG_WAIT_ON_ADJACENT = (1 << 2),
|
||||
VEHICLE_UPDATE_FLAG_3 = (1 << 3),
|
||||
VEHICLE_UPDATE_FLAG_TRAIN_READY_DEPART = (1 << 4),
|
||||
VEHICLE_UPDATE_FLAG_TESTING = (1 << 5),
|
||||
VEHICLE_UPDATE_FLAG_6 = (1 << 6),
|
||||
VEHICLE_UPDATE_FLAG_7 = (1 << 7),
|
||||
VEHICLE_UPDATE_FLAG_BROKEN_CAR = (1 << 8),
|
||||
VEHICLE_UPDATE_FLAG_BROKEN_TRAIN = (1 << 9),
|
||||
VEHICLE_UPDATE_FLAG_10 = (1 << 10),
|
||||
VEHICLE_UPDATE_FLAG_11 = (1 << 11),
|
||||
VEHICLE_UPDATE_FLAG_12 = (1 << 12),
|
||||
VEHICLE_UPDATE_FLAG_13 = (1 << 13),
|
||||
VEHICLE_UPDATE_FLAG_14 = (1 << 14),
|
||||
VEHICLE_UPDATE_FLAG_15 = (1 << 15)
|
||||
};
|
||||
|
||||
#define VEHICLE_SEAT_PAIR_FLAG 0x80
|
||||
#define VEHICLE_SEAT_NUM_MASK 0x7F
|
||||
|
||||
|
|
Loading…
Reference in New Issue