Move "apply_block_section_stop_site" on top of "check_and_apply...()"

To make it callable from "check_and_apply...()"
This commit is contained in:
Daniel Trujillo 2016-07-09 00:30:31 +02:00
parent 3e0754f14d
commit 453b33a7b7
1 changed files with 42 additions and 42 deletions

View File

@ -5381,46 +5381,6 @@ static void vehicle_update_track_motion_up_stop_check(rct_vehicle *vehicle)
}
}
/**
*
* rct2: 0x006DAC43
*/
static void check_and_apply_block_section_stop_site(rct_vehicle *vehicle)
{
rct_ride *ride = get_ride(vehicle->ride);
rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle);
// Is chair lift type
if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_12) {
sint32 velocity = ride->speed << 16;
if (RCT2_GLOBAL(0x00F64E34, uint8) == 0) {
velocity = 0;
}
vehicle->velocity = velocity;
vehicle->acceleration = 0;
}
int trackType = vehicle->track_type >> 2;
switch (trackType) {
case TRACK_ELEM_END_STATION:
case TRACK_ELEM_BLOCK_BRAKES:
if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT || ride_is_block_sectioned(ride))
apply_block_section_stop_site(vehicle, ride);
break;
case TRACK_ELEM_25_DEG_UP_TO_FLAT:
case TRACK_ELEM_60_DEG_UP_TO_FLAT:
case TRACK_ELEM_CABLE_LIFT_HILL:
case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT:
case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT:
if (ride_is_block_sectioned(ride))
apply_block_section_stop_site(vehicle, ride);
break;
}
}
void apply_block_section_stop_site(rct_vehicle *vehicle, rct_ride *ride){
int trackType = vehicle->track_type >> 2;
@ -5468,11 +5428,51 @@ void apply_block_section_stop_site(rct_vehicle *vehicle, rct_ride *ride){
}
}
/**
*
* rct2: 0x006DAC43
*/
static void check_and_apply_block_section_stop_site(rct_vehicle *vehicle)
{
rct_ride *ride = get_ride(vehicle->ride);
rct_ride_entry_vehicle *vehicleEntry = vehicle_get_vehicle_entry(vehicle);
// Is chair lift type
if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_B_12) {
sint32 velocity = ride->speed << 16;
if (RCT2_GLOBAL(0x00F64E34, uint8) == 0) {
velocity = 0;
}
vehicle->velocity = velocity;
vehicle->acceleration = 0;
}
int trackType = vehicle->track_type >> 2;
switch (trackType) {
case TRACK_ELEM_END_STATION:
case TRACK_ELEM_BLOCK_BRAKES:
if (ride->mode == RIDE_MODE_CONTINUOUS_CIRCUIT || ride_is_block_sectioned(ride))
apply_block_section_stop_site(vehicle, ride);
break;
case TRACK_ELEM_25_DEG_UP_TO_FLAT:
case TRACK_ELEM_60_DEG_UP_TO_FLAT:
case TRACK_ELEM_CABLE_LIFT_HILL:
case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT:
case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT:
if (ride_is_block_sectioned(ride))
apply_block_section_stop_site(vehicle, ride);
break;
}
}
/**
*
* rct2: 0x006DADAE
*/
static void sub_6DAB4C_chunk_3(rct_vehicle *vehicle)
static void update_velocity(rct_vehicle *vehicle)
{
sint32 nextVelocity = vehicle->acceleration + vehicle->velocity;
if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_7) {
@ -8077,7 +8077,7 @@ int vehicle_update_track_motion(rct_vehicle *vehicle, int *outStation)
vehicle_update_track_motion_up_stop_check(vehicle);
check_and_apply_block_section_stop_site(vehicle);
sub_6DAB4C_chunk_3(vehicle);
update_velocity(vehicle);
if (RCT2_GLOBAL(0x00F64E08, sint32) < 0) {
vehicle = vehicle_get_tail(vehicle);