1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-26 00:04:43 +01:00

Refactor vehicle logic related to #5749

This commit is contained in:
Ted John
2017-07-01 12:24:38 +01:00
parent 72eb22df2e
commit 3ca84dcc17
3 changed files with 8 additions and 8 deletions

View File

@@ -224,7 +224,7 @@ static bool sub_6DF01A_loop(rct_vehicle* vehicle) {
uint8 trackType = vehicle->track_type >> 2;
if (trackType == TRACK_ELEM_CABLE_LIFT_HILL &&
vehicle->track_progress == 160) {
_vehicleMotionTrackFlags |= (1 << 1);
_vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_1;
}
uint16 trackProgress = vehicle->track_progress + 1;
@@ -342,7 +342,7 @@ static bool sub_6DF21B_loop(rct_vehicle* vehicle) {
vehicle->track_type |= output.begin_element->properties.track.type << 2;
if (output.begin_element->properties.track.type == TRACK_ELEM_END_STATION) {
_vehicleMotionTrackFlags = (1 << 0);
_vehicleMotionTrackFlags = VEHICLE_UPDATE_MOTION_TRACK_FLAG_VEHICLE_AT_STATION;
}
moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, 0);
@@ -426,7 +426,7 @@ sint32 cable_lift_update_track_motion(rct_vehicle *cableLift)
break;
}
else {
_vehicleMotionTrackFlags |= (1 << 5);
_vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_5;
_vehicleVelocityF64E0C -= vehicle->remaining_distance - 13962;
vehicle->remaining_distance = 13962;
vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type];
@@ -439,7 +439,7 @@ sint32 cable_lift_update_track_motion(rct_vehicle *cableLift)
break;
}
else {
_vehicleMotionTrackFlags |= (1 << 5);
_vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_5;
_vehicleVelocityF64E0C -= vehicle->remaining_distance + 1;
vehicle->remaining_distance = -1;
vehicle->acceleration += dword_9A2970[vehicle->vehicle_sprite_type];

View File

@@ -4868,7 +4868,7 @@ void loc_6DDF9C(rct_ride *ride, rct_map_element *mapElement)
vehicle_update_track_motion(train, NULL);
do {
mapElement->flags |= (1 << 5);
mapElement->flags |= MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED;
car = train;
while (true) {
car->velocity = 0;
@@ -4882,9 +4882,9 @@ void loc_6DDF9C(rct_ride *ride, rct_map_element *mapElement)
}
car = GET_VEHICLE(spriteIndex);
}
} while (!(vehicle_update_track_motion(train, NULL) & 0x400));
} while (!(vehicle_update_track_motion(train, NULL) & VEHICLE_UPDATE_MOTION_TRACK_FLAG_10));
mapElement->flags |= (1 << 5);
mapElement->flags |= MAP_ELEMENT_FLAG_BLOCK_BRAKE_CLOSED;
car = train;
while (true) {
car->update_flags &= ~VEHICLE_UPDATE_FLAG_1;

View File

@@ -8293,7 +8293,7 @@ loc_6DC99A:
goto loc_6DC462;
loc_6DC9BC:
_vehicleMotionTrackFlags |= 0x20;
_vehicleMotionTrackFlags |= VEHICLE_UPDATE_MOTION_TRACK_FLAG_5;
regs.eax = vehicle->remaining_distance + 1;
_vehicleVelocityF64E0C -= regs.eax;
vehicle->remaining_distance -= regs.eax;